黑马程序员技术交流社区

标题: sizeof和strlen的区别 [打印本页]

作者: lucky0512    时间: 2015-7-7 23:06
标题: sizeof和strlen的区别
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;

作者: Fighting--BJ    时间: 2015-7-8 00:51
学习学习!
作者: 赵云18235802528    时间: 2015-7-8 07:15
我是来看看的
作者: peng_gavin    时间: 2015-7-8 08:22
楼主总结的不错
作者: Crisps    时间: 2015-7-8 08:31
总结的很清楚,赞一个
作者: venn    时间: 2015-7-8 09:02
不错,学习了。。。。。。
作者: 弥修斯    时间: 2015-7-8 09:45
思路很清晰啊~~~
作者: 小蜗牛0519    时间: 2015-7-8 10:03
赞一个 楼主说得很好!
作者: heyuze    时间: 2015-7-8 10:21
支持楼主~
作者: lucky0512    时间: 2015-7-8 15:24
Fighting--BJ 发表于 2015-7-8 00:51
学习学习!

大家一起学习
作者: lucky0512    时间: 2015-7-8 15:26
小蜗牛0519 发表于 2015-7-8 10:03
赞一个 楼主说得很好!

谢谢。。。。。。。。。。。
作者: huguozhang    时间: 2015-7-10 00:32
很清晰  一看就明白了   学习了  多谢楼主~~
作者: 弹剑    时间: 2015-7-10 22:18
总结的很好




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