设有如下定义,则正确的叙述为( )
char x[]={"abcdefg"};
char y[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’};
①数组x和数组y等价②数组x和数组y长度相同
③数组X的长度大于数组y的长度④数组X的长度小于数组y的长度
【说明】
不指定数组长度的字符数组定义,其所需要的字节数可由初始化中给出的值的个数确定。
字符数组可以用字符串初始化,也可用字符逐个给字符数组的元素初始化。但用字符初始化时,尽管给出了字符串中的全部字符,还是不会自动有字符率结束字符。但字符串初始化自动会含有字符串的结束标记符,字符串初始化所需要的字节个数会比用同样多的字符初始化多1个字节。所以只有③才是正确的。

本文解析了两种不同的字符数组初始化方式:一种使用字符串初始化,另一种通过单个字符逐个初始化,并对比了这两种方式下数组长度的不同。文章指出,在用字符串初始化时会自动包含字符串结束标记符,因此所需字节数会比相同数量的字符初始化多1。

被折叠的 条评论
为什么被折叠?



