1.sizeof函数
sizeof函数返回表达式所占的内存空间(以字节为单位)
例:
#include<stdio.h>
#define MONTHES 12
int main(void)
{
int days[MONTHES] = {31,28,31,30,30,30};
int len = sizeof(days);
printf("days:%d",len);
return 0;
}
这段程序输出的结果为:days:48
因为一个int型在内存中占4个字节,而days数组有12个元素,故共48字节
另外若想求此数组长度,可用如下语句:
int len = sizeof(days) / sizeof(days[0]);
/*sizeof(days)是整个数组所占的字节数,sizeof(days)时数组中一个元素所占的字节数*/
2.strlen函数
此函数包含在string.h头文件中。返回字符串的长度 ,而非在内存中的字节数,
以"\0"为结束判断,且'\0'不算入总数。
3.sizeof和strlen比较
strlen只计算字符串的长度,且'\0'不计算在内。而sizeof可计算各种数据类型在内存中所占的字节数。
且sizeof在计算字符串长度时(char类型在内存中只占一个字节,故用sizeof函数计算字符串时相当于计算其长度),'\0'计算在内。