C语言中对sizeof()和strlen()的说明

2017-02-20  本文已影响24人  快乐小哥

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)/days[0]; 
  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'计算在内
上一篇 下一篇

猜你喜欢

热点阅读