关于strlen函数的一点新发现

strlen函数被用作计算字符数组的长度,他是以结束字符“\0”作为数组的结束符的,并且不包含结束符的长度(这一点与sizeof不同)一般情况下如果字符数组没有结束符,那么使用strlen函数获取的长度要大于实际长度

如下定义

char a[]={'a','b'};
strlen(a);

那么获得长度为13

但是假如定义如下

static char a[]={'a','b'};
strlen(a);

那么获得的长度就是2,也就是字符数组的长度不知道是不是被编译器进行了优化

测试环境:WIN7 32位+vs2013


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值