学科分类
目录

二维数组元素访问

与一维数组相同,二维数组的访问也包括读取指定元素和遍历数组元素,下面分别对二维数组元素的两种访问方式进行介绍。

1、 读取指定元素

二维数组元素的访问方式同一维数组元素的访问方式一样,也是通过数组名和索引的方式来访问数组元素,其语法格式如下:

数组名[][];

上述语法格式中,行索引应该在所定义的二维数组中的行索引范围内,列索引应该在其列索引范围内。例如,定义二维数组int arr[3][4] = {12,3,4,13,45,0,100,98,72,660,2,88},在读取该数组元素时,行索引的取值范围为0~2,列索引的取值范围为0~3,示例代码如下所示:

a[0][0]  //读取第1行第1列的元素12
a[0][1]  //读取第1行第2列的元素3
...
a[1][0]  //读取第2行第1列的元素45
...
a[2][0]  //读取第3行第1列的元素 72

二维数组的索引也是从0开始的,因此a[0][0]是读取第1行第1列的元素,即12。

2、 遍历二维数组

二维数组的遍历也通过循环语句实现,由于二维数组有两个维数,遍历二维数组需要使用双层循环。下面分别使用双层for循环嵌套和双层while循环嵌套遍历二维数组,如例1所示。

例1 test.c

 1  #include <stdio.h>
 2  int main()
 3  {
 4    int arr[3][4] = { 12,3,4,13,45,0,100,98,72,660,2,88 };
 5    //for循环遍历二维数组
 6    printf("使用for循环遍历:\n");
 7    for (int i = 0; i < 3; i++)     //循环遍历行
 8    {
 9      for (int j = 0; j < 4; j++)   //循环遍历列
 10     {
 11       printf("%5d", arr[i][j]);
 12     }
 13     printf("\n");         //每一行的末尾添加换行符
 14   }
 15   //while循环遍历二维数组
 16   printf("使用while循环遍历:\n");
 17   int i = 0, j = 0;
 18   while (i < 3)             //循环遍历行
 19   {
 20     while (j < 4)          //循环遍历列
 21     {
 22       printf("%5d", arr[i][j]);
 23       j++;             //在行固定的情况下,列值依次增加
 24     }
 25     j = 0;            //将j归0,以便进行下一轮循环 
 26     printf("\n");
 27     i++;                //遍历完一行后,行值加1
 28   }
 29   return 0;
 30 }

例1运行结果如图1所示。

图1 例1运行结果

点击此处
隐藏目录