二维字符数组一般用于储存和处理多个字符串,二维数组中的每一行均可存储表示一个字符串。

1.二维字符数组的定义

格式:

char 数组名【行大小】【列大小】;

char arr【5】【10】;//定义一个5行10列的二维字符数组

由于该二维数组的每一行 arr【0】、arr【1】、arr【2】、arr【3】、arr【4】均是含有10个元素的一维字符数组,即二维数组的每一行均可表示一个字符串。

2.初始化

通常情况下,二维数组的每一行分别使用一个字符串进行初始化

如:

3.二维字符数组的引用

可以使用行下标和列下标引用二维数组中的每个元素(字符)

如:char arr【】【10】={“apple”,“orange”,“banana”};

以下是对二维字符数组元素的合法引用:

1.printf(“%c”,arr【1】【4】);//输出1行4列元素‘g’字符

2.scanf(“%c”,&arr【2】【3】);//输入字符到arr【2】行3列元素中

3.arr【2】【0】=‘B’,//把字符赋值给第二行0列的元素

4.printf(“%s”,arr【1】);//arr【1】为第二行的数组名(首元素地址),输出orange

5.scanf(“%s”,arr【2】);//输入字符串到arr【2】行,从arr【2】行的首地址开始存放

以下是对二维字符数组的非法引用:

arr【0】【0】=“A”;//行、列下标表示的为字符型元素,不能使用字符串赋值

printf(“%c”,arr【2】);//arr【2】为第三行的首地址,不是字符元素,所以不能用%c

4.二维数组的输入和输出

1.输入:

2.输出