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

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'计算在内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值