C语言的sizeof和strlen
strlen是函数,而sizeof是算符。strlen需要进行一次函数调用,而对于sizeof而言,因为缓冲区已经用已知字符串进行了初始化,起长度是固定的,所以sizeof在编译时计算缓冲区的长度。
因为sizeof()测试的是数组的长度。而strlen测试的是字符串的长度。在定义数组时,字符串后面还有一个结束标志'\0',这个也要算进去!
#include <stdio.h>
#include <string.h>
main()
{
char ss[]="string";
printf("%d %d \n",sizeof(ss),strlen(ss));
}
代码修改下:
#include <stdio.h>
#include <string.h>
main()
{
char ss[]="string";
ss[0]=0;
ss[1]='\0';
ss[2]='0';
printf("%d %d \n",sizeof(ss),strlen(ss));
}
声明x的时候x里面存储的是"string\0",最后的\0是结束符,所以sizeof(x)就是7。 而\0的asccii码值为0,strlen(x)是计算到\0位置,strlen(x)也就是0了。
注意:=0和='\0'都是结束。而='0'是真正的给对应位置置为字符0
C语言的sizeof和strlen相关推荐
- 【C语言】sizeof和strlen的区别
一.size和strlen的异同 二.数组名意义的两个特例 三.结合实例分清sizeof和strlen 1.一维数组 易错解析 2.字符数组 易错解析 3.二维数组 易错解析 一.size和strle ...
- c语言sizeof和strlen哪个大,C语言的sizeof和strlen区别与联系
sizeof指的是占有空间的大小,包括字符串结束的\0.strlen是计算字符串长度,以\0作为结束标志,并且\0不计入数值. #include #include using namespace st ...
- 【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )
文章目录 一.strlen 与 sizeof 函数 二.计算 字符串长度 与 内存块大小 一.strlen 与 sizeof 函数 strlen() 函数的作用是获取字符串大小 , 其原理是 从 内存 ...
- C语言再学习 -- 关键字sizeof与strlen
sizeof 一.简单介绍 sizeof 是 C 语言的一种单目操作符,如 C 语言的其他操作符++.--等.它并不是函数.C 规定 sizeof 返回 sieze_t 类型的值.这是一个无符号整数 ...
- C语言 sizeof 和 strlen 函数区别 - C语言零基础入门教程
目录 一.sizeof 函数与 strlen 函数区别 1.获取字符串长度 – 针对字符串 2.获取指针/数组长度 – 针对指针/数组 3.sizeof 获取内存大小 4.经典案例 二.猜你喜欢 零基 ...
- c语言sizeof测量字符组长度,C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别...
1:定义时用字符初始化 (1)char chs[7] = {'a', 'c', '0', 'z', '3','d'}; // 长度为6 上式等价于: (2)char chs[7] = {'a', 'c ...
- c语言字符数组的实际长度,C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别...
1:定义时用字符初始化 (1)char chs[7] = {'a', 'c', '0', 'z', '3','d'}; // 长度为6 上式等价于: (2)char chs[7] = {'a', 'c ...
- 如何求C语言字符串长度(strlen函数和sizeof关键字)
如何求C语言字符串长度(strlen函数和sizeof关键字) 在程序里,一般会用***strlen()***函数或***sizeof()***来获取一个字符串的长度,但这2种方法获取的字符串的长度其 ...
- c语言sizeof strlen,C语言中sizeof与strlen区别
一.本质区别 sizeof 和strlen 有本质上的区别.sizeof 是C 语言的一种单目运算符,如++.--等,并不是函数,sizeof 的优先级为2 级,比/.% 等3 级运算符优先级高,si ...
最新文章
- Galaxy Release 20.05 发布,新增多项可视化体验
- PL/SQL基础篇4(游标)
- QluOJ2018NewCode计算几何(寄蒜几盒)
- node+express学习日记
- SPI接口比IIC速度快的理解
- show status like “table%“ 分析mysql表锁定
- IMS与未来电信产业演变
- LoadRunner监控SQLServer
- 计算机万维考试题,计算机培训 万维考试系统选择题题库(含参考答案).pdf
- Alexa技能开发从创建到发布
- C-V2X通信架构中,PC5接口和Uu接口的区别是什么?
- python读音有道-[Python]通过有道词典API获取单词发音MP3
- flutter 截图 截长图 滚动截图 保存到手机
- cogs2235 烤鸡翅 贪心
- Word 2019 自带公式快速编号方法
- 使用GSAP的动画库为Bootstrap传送带制作动画
- Sqlserver (优化Sqlserver数据库)页分裂 和填充因子
- 已知圆柱体的底面半径c语言,C语言编程题带答案
- git撤销已经提交push到master或者已经合并到master的mr
- linux删除带用户的群组,Linux账号群组删除等相关操作
热门文章
- html5搜索框美化,CSS美化的漂亮搜索框
- kali linux samba,Kali Linux 渗透测试:SMB、SMTP扫描工具(14)
- basequickadapter详解_在kotlin中如何使用BaseQuickAdapter适配器
- PCL:点云配准1、基础知识:平面3自由度、旋转矩阵精讲
- Yolo模型部署的两种方法
- python绝对路径的区别_python学习:绝对路径和相对路径
- Rocksdb 利用recycle_log_file_num 重用wal-log文件
- s-stat 查看文件或者文件系统的状态信息
- Android开发教程 - 使用Data Binding(二)集成与配置
- Linux命令之top