A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lucky0512 中级黑马   /  2015-7-7 23:06  /  1074 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

sizeof和strlen的区别:
strlen的结果要在运行的时候才能计算出来,主要用来计算字符串的长度,不是类型占内存的大小,以'\0'结束
sizeof 获得的是一个指针的之所占的空间,应该是长整型的,所以是4,如:
char *p="abcdef";
sizeof(p) = 4;
strlen(p) = 6;
sizeof 计算的是分配的数组 所占的内存空间的大小,不受里面存储的内容改变,如:
char a[5] = "abc";
sizeof(a) = 5;
strlen(a) = 3;
sizeof计算字符串长度时计算所有字符个数(结束符也算范围内),“\0”“\n”都算一个字符。 如:
char b[] = "abc";
sizeof(a) =4;
strlen(a) = 3;

12 个回复

正序浏览
总结的很好
回复 使用道具 举报
很清晰  一看就明白了   学习了  多谢楼主~~
回复 使用道具 举报
小蜗牛0519 发表于 2015-7-8 10:03
赞一个 楼主说得很好!

谢谢。。。。。。。。。。。
回复 使用道具 举报

大家一起学习
回复 使用道具 举报
支持楼主~
回复 使用道具 举报
赞一个 楼主说得很好!
回复 使用道具 举报
思路很清晰啊~~~
回复 使用道具 举报
不错,学习了。。。。。。
回复 使用道具 举报
总结的很清楚,赞一个
回复 使用道具 举报
楼主总结的不错
回复 使用道具 举报
赵云18235802528 来自手机 中级黑马 2015-7-8 07:15:32
藤椅
我是来看看的
回复 使用道具 举报
学习学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马