sizeof()运算符和strlenth()函数的区别

1、sizeof()是单目运算符,返回的是数据类型所占的字节数,数据类型可以是任何类型。

例如:

对象可以是数据类型

sizeof(int);

sizeof(struct TIME);

sizeof(char);

对象可以是对应的变量名称

int temp; sizeof(temp);

char buffer[6];sizeof(butter);          //值为6;

strlenth()是一个字符串函数,故其参数必须是字符串类型,而不能是其他的数据类型。

例如:

char buffer[6] = “hello”; strlenth(butter);            //值为5

2、二者值的区别

这一点是最容易迷惑人的,sizeof()的结果是变量(或者变量类型)所占的字节数,这个字节数是内存中分配好的地址空间,跟变量中的内容多少无关。

strlenth是针对字符串的实际有效长度,因为字符串是以‘\0’结尾,故strlenth的值是’\0’之前的字符个数

例如:

char buffer[7]; sizeof(butter);          //值为7;

char buffer[7] = “hello”; strlenth(butter);            //值为5

 

3、总结

sizeof()是运算符,就如同+,-,*,/一样,strlength()是函数;

对于字符串来说,sizeof()的值是分配内存空间的大小,strlenth()是字符串的有效长度,因为,字符类型占一个字节,故容易让人与strlenth()混淆。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值