您的位置:首页 > 其它

计算字符串的长度:strlen 、sizeof的不同

2015-10-23 16:37 316 查看
在C语言中,字符型为char,字符数组定义为:char 数组名 ={ 值1,值2...},或者为 char 数组名 = “ ”。而要计算字符数组,也就是字符串的长度,有两中方法:strlen和sizeof。

strlen()是字符串处理函数,用来计算字符串的长度,即:字符串中实际字符的长度。如下:

char array[10] = "iphone";

printf("%lu\n",strlen(array));
最终输出结果为6。刚好是实际写入字符的个数。

而sizeof是操作符,使用来计算所建立的对象的字节长度。如果提前规定了数组的长度,那么结果就是规定的长度;如果没有规定,计算的长度为实际写入的字符 + 1:\0。

例子:

规定字符数组的长度为10:

char array[10] = "iphone";

printf("%lu\n",sizeof(array));
控制台输出的结果为10。

不规定长度:

char array[] ="iphone";

printf("%lu\n",sizeof(array));
此时在控制台输出的值为7:实际字符 + ‘\0’。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: