
上QQ阅读APP看书,第一时间看更新
6.3.2 字符数组的初始化
字符数组的初始化有如下几种方法。
(1)逐个字符赋给数组中的元素,这种初始化方式最好理解。如下把10个字符分别赋给数组元素c[0]~c[9]:

(2)如果提供的初值个数和预定的数组长度相同,定义时可以省略数组长度,系统会自动根据初值个数确定数组长度:

(3)如果初值个数大于数组长度,则做语法错误处理:

(4)如果初值个数小于数组长度,则只将这些字符赋给数组中前面的元素,其余的元素值可能会给'\0',也可能无法确定,所以强烈不建议使用这些无法确定的元素值:

转义字符'\0',已经很熟悉了,就等于数字0,所以如下代码:

后续讲解字符串时会看到,系统会自动给字符串末尾增加一个'\0'字符作为整个字符串的结束标记。当然,如果手工给字符串末尾增加一个'\0'也是完全没有语法错误的,或者如果给任何一个合法的字符数组中的元素赋值成'\0'都是可以的,也同样没有语法错误,如c[0]='\0'、c[1]='\0'等。
前面学习了二维数组,在学习的时候是以整型二维数组来举例的,其实也可以是字符型二维数组。试举一例如下,请自行在计算机上测试并得出结果:

实际应用中,二维字符数组用的并不多,而一维字符数组用得比较多,所以重点掌握一维字符数组,为什么这样说呢?等讲解后续的字符串知识时就知道了。现在再来一个范例,巩固一下所学的一维字符数组知识:
