您的位置:首页 > 编程语言 > C语言/C++

sizeof 和 strlen 的区别(举例说明)

2017-11-23 13:53 357 查看

sizeof:获得字节数(包括’\0’),是运算符,不做运算,只做计算。
strlen:测试字符串长度(不包括’\0’),是函数。
sizeof 在计算数组的时候,是计算这个数组的最大长度,而不是数组内部数据的长度。
sizeof可以用类型做参数,还可以用函数做参数。strlen只能用char*做参数,且必须是以''\0''结尾的。
例:

#include<stdio.h>
#include<string.h>
int main()
{
        char a[]={"china"};
        printf("%d\n",sizeof(a));
        printf("%d\n",strlen(a));
 
}
 
结果:
6
5

#include<stdio.h>
int main()
{
     int i=1;
     printf("%d,%d\n",sizeof(++i),i);
     return 0;
}
结果:4,1

另外:当sizeof后面带一个指针的时候,实际上是计算指针的长度,一般32位设备

指针长度是4个字节。而strlen依然是计算指针指向的长度。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息