sizeof与strlen的区别
函 参 组 节
1)strlen计算字符串的具体长度(只能是字符串),不包括字符串结束符。返回的是字符个数。
2)sizeof计算声明后所占的内存数(字节大小),不是实际长度。
3)sizeof是一个取字节运算符,而strlen是个函数。
4)sizeof的返回值=字符个数*字符所占的字节数,字符实际长度小于定义的长度,此时字符个数就等于定义的长度。若未给出定义的大小,分类讨论,对于字符串数组,字符大 小等于实际的字符个数 1;对于整型数组,字符个数为实际的字符个数。字符串每个字符占1个字节,整型数据每个字符占的字节数需根据系统的位数类确定,32位占4个字节。
5)sizeof可以用类型做参数,strlen只能用char*做参数,且必须以‘\0’结尾,sizeof还可以用函数做参数;
6)数组做sizeof的参数不退化,传递给strlen就退化为指针;