黑马程序员技术交流社区

标题: 字符串中sizeof与strlen的区别 [打印本页]

作者: samer123    时间: 2015-6-1 22:58
标题: 字符串中sizeof与strlen的区别
sizeof得到的是内存分配的空间数,即存储单元个数,strlen得到的是字符串中字符格式不包括\0

作者: talent123    时间: 2015-6-2 09:37
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(){
  4.         char a[] = "hello world!";
  5.         printf("sizeof = %d", sizeof(a));
  6.         printf("len = %d", strlen(a));
  7.        
  8.        
  9.         return 0;
  10. }
复制代码


结果是 13 12
这样比较就明显了
作者: 小龙女的萝卜    时间: 2015-6-2 11:18
围观学习了
作者: Residual_mem    时间: 2015-6-2 12:24
好溜。。。
作者: Elors    时间: 2015-6-2 14:14
strlen函数也是从第一个字符开始计算直到'\0'结束符。
如果你定义了一个字符串"abc\0d”,用strlen函数计算一下你就明白了。
作者: liuning    时间: 2015-6-2 18:09
sizeof是求字符个数吧
作者: 这是829    时间: 2015-6-2 20:53
围观学习啦
作者: 碧空海    时间: 2015-6-2 20:57
不断学习中,,,,,,,
作者: woaidd99    时间: 2015-6-2 22:39
围观学习中
作者: samer123    时间: 2015-6-2 22:49
strlen函数的实现,是用字符是否为\0作为判断条件,所以遇到\0就会停止
作者: x331275955    时间: 2015-6-2 22:55
一个是到\0结束  一个是全部都算上.
作者: 465096445@qq.co    时间: 2015-6-2 23:01
这和java有关系吗?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2