(1)char str[10]={'I','','a','m','','h','a','p','p','y'}; 即把10个字符分别赋值给str[0]到str[9]10个元素; 如果花括号中提供的字符个数大于数组长度,则按语法错误处理; 若小于数组长度,则只将这些字符数组中前面赋值,其余的元素自动定位空字符(即'\0'); 若刚好相等,可以使用strlen等函数,此时会自动在最后加上'\0'(自测试)。 (2)char str[]={"I am happy"}; <==> char str[]={'I','','a','m','','h','a','p','p','y','\0'}; 可以省略花括号,如下:char str[]="I am happy"; 不等价与char str[]={'I','','a','m','','h','a','p','p','y'}; 注意1:上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于 char str[11]; str="I am happy"; 而对字符指针变量,采用下面方法赋值: (3)字符数组并不要求它的最后一个字符为'\0',甚至可以不包含'\0',像下面这样写是完全合法的: char str[5]={'C','h','i','n','a'}; |
|
来自: Rainboy913 > 《计算机》