c语言向函数传递三维数组,将三维数组传递给C中的函数

这篇博客探讨了在C语言中如何向函数传递三维数组,并通过示例代码展示了两种不同的方法。作者遇到了在使用指针访问数组元素时的编译错误,问题在于未指定数组边界导致的非法使用。
摘要由CSDN通过智能技术生成

我用FORTRAN编程,但我决定学习C和C.我从C语言开始,我从未使用的一件事是指针,因为FORTRAN通过引用传递值.我构建了下面的示例代码,以了解指针如何与多维数组一起使用:

#include

#include

#define DIM1 3

#define DIM2 2

#define DIM3 4

void display3DArray1(int, int , int n, int (*arr)[][n]);

void display3DArray2(int rows, int cols1, int cols2,int arr[][cols1][cols2]);

int main(void)

{

int matrix3D[DIM1][DIM2][DIM3] = {

{ {1, 2, 3, 4}, {5, 6, 7, 8}},

{ {9, 10, 11, 12}, {13, 14, 15, 16}},

{ {17, 18, 19, 20}, {21, 22, 23, 24}}

};

int (*pmatrix3D)[DIM2][DIM3] = matrix3D;

display3DArray1(DIM1, DIM2, DIM3,pmatrix3D);

display3DArray2(DIM1, DIM2, DIM3,pmatrix3D);

return 0;

}

void display3DArray1(int rows, int cols1, int cols2,int (*arr)[][cols2]) {

printf("\n");

for(int i=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值