C++中关于二维数组作为函数参数传递的问题[转]

缘起

在做数据结构迷宫实验的时候,要生成一个二维数组存储迷宫数据,为了保证程序的模块化,将生成部分单独放进一个函数migongsc()里。大致代码如下: 问题的关键就集中在了如何将主函数中声明的二维数组migong[8][9]传递到自定义函数中去。

二维数组作为函参方法

耗费了一个晚上的时间,我总共整理出了三种办法:

方法1:模拟编译器寻址

(本法来自CSDN博客,原文)。

大体意思为:将二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的,但是不能省略第二维或者更高维的大小,这是由编译器原理限制的。事实上,编译器是这样处理数组的:

对于数组 int p[m][n],如果要取p[i][j]的值(i>=0 && i > migong(8);//注意空格!!!

热评文章