首页 > 其他 > 详细

sizeof与strlen的区别

时间:2014-06-24 17:51:55      阅读:320      评论:0      收藏:0      [点我收藏+]

(1)用strlen函数计算字符串的长度时,strlen的结果值是不包含’\0’的。而sizeof计算 字符串的长度时,它的结果值包括’\0’.

(2)sizeof如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部数组大小。

(3)sizeof 是关键字不是函数,sizeof 在计算变量所占空间大小时,括号可以省略,而计算类型(模子)大小时不能省略。当然它也可以计算函数大小,计算函数大小时可以省略括号,其计算函数的大小为函数返回值的类型所占字节数。无返回值得函数,默认大小为1个字节。

(4)对一个变量进行sizeof运算和对该变量所在的地址进行sizeof运算所得结果相同。

int i=0;

Sizeof(i)=4,sizeof(&i)=4

(5)sizeof()和初不初始化,没有关系;strlen() 和初始化有关。

(6)Sizeof运算结果是操作数所占的内存空间的字节数,strlen返回的是以’\0’结束符结束的字符串的长度。

char str[20]="0123456789";

int a=sizeof(str) //a=20;

int b=strlen(str)  //b=10;

(7)sizeof是在编译时就进行计算,strlen在运行时才进行操作。



sizeof与strlen的区别,布布扣,bubuko.com

sizeof与strlen的区别

原文:http://blog.csdn.net/u012041952/article/details/33292563

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!