strlen函数被用作计算字符数组的长度,他是以结束字符“\0”作为数组的结束符的,并且不包含结束符的长度(这一点与sizeof不同)一般情况下如果字符数组没有结束符,那么使用strlen函数获取的长度要大于实际长度
如下定义
char a[]={'a','b'};
strlen(a);
那么获得长度为13
但是假如定义如下
static char a[]={'a','b'};
strlen(a);
那么获得的长度就是2,也就是字符数组的长度不知道是不是被编译器进行了优化
测试环境:WIN7 32位+vs2013