字符串,要么有单独的变量存放其长度,要么有结束符。
C里的字符串约定的结束符是0,strlen()等字符串函数假定传入的参数是遵循这个约定的。
不按这个约定,那就是自己山寨了一个“字符串”,或者不叫字符串,而只是一个char array。
静态array的长度不是求的(不是运行期求),而是定义变量时指定的(通过编译期的sizeof等获得)。
只有动态array的长度是运行期计算的。
所以,要区分三个东西:
1、以零结尾的字符串
2、静态的char array
3、动态的char array
--
修改:z16166 FROM 61.48.130.*
FROM 61.48.130.*