C 语言 二维数组

  • Post category:C

C语言二维数组

什么是二维数组

二维数组是一种特殊的数组,它可以被看作是数组的数组。它的元素是通过一个二维坐标系来进行索引的。一个二维数组可以视为一个表格,其中的每一个元素都有一个唯一的行标和列标。

二维数组的定义

在 C 语言中可以通过如下方式定义二维数组 a[m][n]

    int a[m][n];

其中,m和n为数组的维数,它表示了数组元素在两个不同的维度上的个数,可以根据需要定义不同大小的二维数组。

二维数组也可以使用指针来访问。例如,a[i][j]也可以写成((a+i)+j)。

二维数组的初始化

可以在定义二维数组时进行初始化,也可以初始化后再赋值。

定义时初始化

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

上述定义了一个2行3列的二维数组,并进行了初始化,其元素分别为1,2,3,4,5,6。

初始化后赋值

int a[2][3];
a[0][0] = 1;
a[0][1] = 2;
a[0][2] = 3;
a[1][0] = 4;
a[1][1] = 5;
a[1][2] = 6;

二维数组的使用

二维数组的遍历

通过嵌套循环可以遍历二维数组中的所有元素

#include <stdio.h>

int main() {
    int a[2][3] = {{1,2,3},{4,5,6}};
    int i,j;
    for(i=0;i<2;i++) {
        for(j=0;j<3;j++) {
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

输出结果:

1 2 3
4 5 6

二维数组参数的传递

函数的参数可以是二维数组,可以在函数内部使用和修改该二维数组。

void print_array(int a[][3],int row,int col) {
    int i,j;
    for(i=0;i<row;i++) {
        for(j=0;j<col;j++) {
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
}

int main() {
    int a[2][3] = {{1,2,3},{4,5,6}};
    print_array(a,2,3);
    return 0;
}

输出结果:

1 2 3
4 5 6

总结

二维数组在C语言中作为一个重要的数据结构,在学习和使用C语言时具有重要的作用。对于初学者,建议多练习二维数组的定义和使用方法,理解其原理和实现方式,以便更好地掌握C语言及其相关应用。