二维数组

99 阅读1分钟

什么是二维数组?

二维数组可以理解为「数组的数组」,本质上是一个一维数组,但其每个元素又是一个一维数组。常用于表示表格、矩阵、棋盘等二维结构,是编程中最常用的多维数组形式

一、二维数组的定义

语法格式:

数据类型 数组名[行数][列数];
  • 行数:表示二维数组包含多少个一维数组(行)。
  • 列数:表示每个一维数组包含多少个元素(列)。
  • 注意:C 语言中,二维数组的列数不能省略(行数可省略,需配合初始化)。

示例:

// 定义一个3行4列的整型二维数组(3个一维数组,每个含4个int元素)
int arr[3][4];
// 定义一个2行3列的字符型二维数组
char ch[2][3];
// 定义一个4行5列的浮点型二维数组
float f[4][5];

打出代码

#include 
int main(){
    // 二维数组: 方阵,有行有列
    // 一种特殊的一维数组:每个元素都是一个一维数组

    int arr[2][3] = {
                        {1,2,3},
                        {4,5,6}
                    };

    // 访问元素 4
    printf("%d", arr[1][0]);

    // 打印3
    printf("%d", arr[0][2]);
    
    
    int i = 0; 
    printf("%d", arr[i][i] + arr[i+1][i+1]); //
}

运行结果

image.png

打印二维数组

#include 

int main() {
    // 定义2行3列的二维数组
    int arr[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };

    // 外层循环:遍历行(共2行,下标0~1)
    for (int i = 0; i < 2; i++) {
        // 内层循环:遍历列(共3列,下标0~2)
        for (int j = 0; j < 3; j++) {
            // 打印当前元素,加空格分隔列
            printf(&#34;%d &#34;, arr[i][j]);
        }
        // 一行打印完,换行
        printf(&#34;\n&#34;);
    }

    return 0;
}

运行结果

image.png