您的位置:首页 > 其它

二维字符数组与字符串数组的使用

2016-03-22 19:53 232 查看
一维字符数组的定义形式如下:

<存储类型> 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"};

以下两段程序输出结果一样

// 二维字符数组

char a[3][6]={"Tread","Micro","Soft"};
for(int i=0;i<3;i++) {
for(int j=0;j<6;j++)
cout<<a[i][j];
cout<<endl; }

// 字符串数组
string b[]={"Tread","Micro","Soft"};
for(i=0;i<3;i++)
cout<<b[i]<<endl;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: