黑马程序员技术交流社区

标题: C语言基础 [打印本页]

作者: 大龄产妇    时间: 2014-6-21 15:47
标题: C语言基础
谁能详细说下
strlen 与 sizeof 的区别?
以及相对应的应用场合?
作者: 曹雨    时间: 2014-6-21 16:22
本帖最后由 曹雨 于 2014-6-21 16:25 编辑

比如一个数组,int a[10]="abcd",strlen(a)=4计算的是字符串长度,sizeof(a)=10计算的是开辟的内存空间,
比如一个指针,int *p="abcd".strlen(p)=4计算的是字符串长度.sizeof(a)=4,计算的是指针p占据的内存空间。
其他的楼主可以百度下- -

作者: 王海江1    时间: 2014-6-22 23:33
strlen是用来计算字符串长度的。遇到\0结束,\0不被计算在内。。。
sizeof是计算字符数组中的字符个数
作者: 陨石    时间: 2014-6-22 23:57
sizeof是计算数据类型的占位大小,比如1个char占一位是8字节不同的操作系统不同的机器架构会不一样,一个int占4位,double占8位,通常使用在缓冲区设置大小等和内存有关的地方,比如10*sizeof(double)就是10个double数据类型大小的内存空间
strlen就是计算\0之前的字符个数
作者: eniuovn    时间: 2014-6-23 00:54
一个是字符串,一个是内存字节




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