定义字符数组的方法与前面介绍的类似。例如
char c[10];
c[0]=′I′;c[1]=′ ′;c[2]=′a′;c[3]=′m′;c[4]=′ ′;c[5]=′h′;c[6]=′a′;c[7]=′p′;c[8]=′p′;
c[9]=′y′;
上面定义了c为字符数组,包含10个元素。在赋值以后数组的状态如图5.7所示。

对字符数组进行初始化,最容易理解的方式是逐个字符赋给数组中各元素。如
char c[10]={′I′,′ ′,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′};
把10个字符分别赋给c[0]~c[9]这10个元素。
如果花括号中提供的初值个数大于数组长度,则按语法错误处理。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符。如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。如
char c[]={′I′,′ ′,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′};
也可以定义和初始化一个二维字符数组,如
char diamond[5][5]={{′ ′,′ ′,′*′},{′ ′, ′*′,′ ′,′*′},{′*′,′ ′,′ ′,′ ′,′*′},{′ ′,′*′,′ ′,′*′},{′ ′,′ ′,′*′}};
评论