在C语言中,传递多维数组需要使用指针。以下是一个简单的示例,展示了如何在C语言中传递多维数组。
首先,定义一个函数,该函数接受一个指向整数的指针和数组的维度作为参数。
#include<stdio.h>
void print_array(int *arr, int rows, int cols) {
for (int i = 0; i< rows; i++) {
for (int j = 0; j< cols; j++) {
printf("%d ", *(arr + i * cols + j));
}
printf("\n");
}
}
接下来,定义一个主函数,创建一个多维数组并调用print_array
函数。
int main() {
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
print_array((int *)arr, 3, 4);
return 0;
}
在这个示例中,我们首先定义了一个名为print_array
的函数,该函数接受一个指向整数的指针、行数和列数作为参数。然后,我们在主函数中创建了一个3x4的多维数组,并使用print_array
函数打印数组的内容。
注意,我们将多维数组的地址传递给print_array
函数,该地址将被视为一维数组。我们可以使用指针算术来访问多维数组中的每个元素。在这种情况下,我们使用*(arr + i * cols + j)
来访问数组中的每个元素。
这个示例展示了如何在C语言中传递多维数组,并且不涉及任何流行的云计算品牌商。
领取专属 10元无门槛券
手把手带您无忧上云