sizeof 和 strlen用法

sizeof 和 strlen用法:


char str[20]="0123456789"; 
int   a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 
int   b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响


char *str1="absde";
char str2[]="absde";
char str3[8]={'a',};
char ss[] = "0123456789";

输出:

sizeof(str1)=4
sizeof(str2)=6;
sizeof(str3)=8;
sizeof(ss)=11

sizeof是算符,strlen是函数

sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以“\0”结尾的。

数组做sizeof的参数不退化,传递给strlen就退化为了指针

sizeof在编译时计算,strlen在运算时计算

对函数使用sizeof,在编译阶段会被函数返回值类型取代。

v  sizeof不是函数,也不是一元运算符,他是个类似宏定义的特殊关键字,sizeof()括号内的内容是不被编译的,只是替换,所以a=8;sizeof(a=6);之后a的值仍然为8。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值