c语言

c语言怎么传入二维数组

小亿
147
2024-08-17 08:56:36
栏目: 编程语言

在C语言中,可以通过以下两种方式传入二维数组:

  1. 作为函数参数传递:可以将二维数组作为函数的参数传递给函数。在函数定义时,需要指定数组的行数和列数,如下所示:
void myFunction(int arr[][3], int rows, int cols) {
    // 函数体
}

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

在上面的例子中,myArray是一个2行3列的二维数组,通过myFunction函数传递给函数。

  1. 使用指针传递:可以将二维数组的首地址作为指针传递给函数,然后在函数内部通过指针的形式来访问数组元素。如下所示:
void myFunction(int *arr, int rows, int cols) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            int value = *(arr + i * cols + j);
            printf("%d ", value);
        }
        printf("\n");
    }
}

int main() {
    int myArray[2][3] = {{1, 2, 3}, {4, 5, 6}};
    myFunction((int *)myArray, 2, 3);
    return 0;
}

在上面的例子中,myArray数组首地址被转换为int*类型,并传递给myFunction函数。在函数内部,通过指针的形式访问数组元素。

这两种方法都可以传递二维数组给函数,选择哪种方法取决于实际情况和个人偏好。

0
看了该问题的人还看了