一维字符数组的定义形式如下:
<存储类型> char <数组名>[<常量表达式>]={<初始值>};
二维字符数组定义的形式是:
<存储类型> char <数组名>[<常量表达式e1>] [<常量表达式e2>]={<初始值>};
字符串数组定义的形式是:
<存储类型> string <数组名>[<常量表达式e1>] ={<初始值>};
二维字符数组定义的数组元素个数为:e1*e2。同数值数组一样,字符数组的每一维元素的下标都是从0开始。
例如:
char aa[8];定义了长为8的一维字符数组aa。
char bb[4][5];定义了4*5的二维字符数组bb。
string cc[3];定义了含3个字符串的一维数组cc。
关于字符数组的初始化有如下两种方式:
(1) 用字符常量初始化数组
例如:
char ch[5]={'a','b','c','d','\0'};
或者:char ch[ ]={'a','b','c','d','\0'}; /*可以缺省数组定义长度,但不能少结尾符*/
char st[3][6]={{'c','h','i','n','a','\0' },{'j','a','p','a','n','\0'},{'k','o','r','e','a','\0'}};
或者:
char st[ ][6]={{'c','h','i','n','a','\0' },{'j','a','p','a','n','\0'},{'k','o','r','e','a','\0'}};
/*可以缺省行下标,但不能缺省列下标*/
(2) 用字符串常量初始化数组
例如:
char ch[6]={"abcd"};
例如:
char st[3][6]={"china","japan","korea"};
或者:
char st[ ][6]={"china" ,"japan","korea"};
/*可以缺省行下标,但不能缺省列下标*/
例如:
string st[]={"china","japan","korea"};
以下两段程序输出结果一样
// 二维字符数组