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