看过来,strlen()函数与sizeof的区别?????

本文介绍C语言中使用sizeof运算符来获取数据类型所占内存大小的方法,并对比strlen()函数的区别,详细解释了如何准确地测量字符串及其它数据类型的大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何知道当前系统的制定类型的大小是多少?

sizeof是c语言的内置运算符,以字节为单位给出指定类型的大小。

example:

printf("Type int has a size of %zd bytes.\n",sizeof(int));

Type int has a size of 4 bytes.

/*因为c语言定义了char类型是1字节,所以char类型的大小一定是1字节*/

printf("Type char has a size of %zd bytes.\n",sizeof(char));

Type int has a size of 1 bytes.


strlen()函数给出字符串中的字符长度,因为一字节存储一个字符,大部分人可能认为这两种方法应用于字符串得到的结果相同,但事实并非如此。

在函数中定义 #define PRAISE "You are an extraordinary being."

分别输出sizeof PRAISE ,strlen( PRAISE

结果分别是32,31

对于 PRAISE ,用strlen()得出的也是字符串中的字符数(包括空格和标点符号)。然而,sizeof运算符给出的数更大,因为他把字符串末尾不可见的空字符也计算在内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值