一、问题
字符数组如何初始化,与数值型数组有什么不同?
二、解答
字符数组的初始化操作有以下⼏种⽅法:
(1)逐个字符赋给数组中各元素
这是最容易理解的初始化字符数组的⽅式。例如,初始化⼀个字符数组。
char ch[11] = {'H', 'E', 'L', 'L', 'O', ',', 'W', 'O', 'R', 'L', 'D'};
定义包含 11 个元素的字符数组,在初始化的花括号中,每⼀个字符对应赋值⼀个数组元素。
(2)如果在定义字符数组时进⾏初始化,可以省略数组长度
如果初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会⾃动根据初值个数确定数组长度。例如,上⾯初始化字符数组的代码可以写成:
char ch[] = {'H', 'E', 'L', 'L', 'O', ',', 'W', 'O', 'R', 'L', 'D'};
中间的那个字符是逗号,在代码中可以看到定义的 ch[ ]中没有给出数组的⼤⼩,但是根据初值的个数会确定数组的长度为11。
(3)利⽤字符串给字符数组赋初值
通常⽤⼀个字符数组来存放⼀个字符串。例如,⽤字符串的⽅式对数组作初始化赋值如下。
char ch[] = {"HELLO,WORLD"};
或者将 { } 去掉,写成:
char ch[] = "HELLO,WORLD";
三、总结
字符数组的初始化⽤字符串的形式⽐较简单⽅便。