C语言sizeof与strlen

1.sizeof操作符

sizeof专门用来计算sizeof的操作符数的类型长度的,单位是字节

sizeof(//类型)
sizeof//表达式

sizeof的操作数如果不是类型,是表达式的时候可以省略掉后边的括号,sizeof后面的表达式是不真实参与运算的,根据表达式的类型得出大小

(1)sizeof专门用来计算sizeof的操作符数的类型长度的,单位是字节
例;

#include<stdio.h>
int main()
{
int a=1;
printf("%zd\n",sizeof(a));//打印结果为4
printf("%zd",sizeof a);//打印结果为4,a是变量名字,可以省略()
printf("%zd",sizeof(int));//打印结果为4
printf("%zd",sizeof(3+1.5));//打印结果为8
return 0;
}

注:int类型一般为4个字节,双精度浮点型一般为8个字节

sizeof用来统计参数所占的内存空间
如:

char s[20]="hello";
printf("%d",sizeof(s));//打印结果为20

(2)sizeof表达式不计算

//short类型所占的字节数为2
#include<stdio.h>
int main()
{
short a=2;
int b=1;
printf("%d\n",sizeof(a=b+1));//打印结果为2
printf("a=%d\n",a);//打印结果为2
return 0;
}

short类型所占字节数为2
第一个printf打印结果为2,是根据a的数据类型,short类型所占的字节数是2
第二个printf打印结果为2,是因为a=2

2.strlen()

strlen()专门用于计算字符串的长度,直到’\0’结束,只适用于字符串类型,计算的长度不包括’\0’

3.两者的对比

sizeof用于获取变量或数据类型的字节大小,适用于任何数据类型,有末尾空字符时包括末尾的空字符“\0"
strlen()专门用于计算字符串的长度,直到’\0’结束,只适用于字符串类型,计算的长度不包括’\0’

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值