希望能帮助到你,我将无比快乐。
你的点赞✌️,是我前进的动力。
初遇二维数组作函数参数,宛如自己化身为了大头儿子。很头大。
不禁大声呐喊:该怎么声明定义,该怎么调用,又该怎么函数中操作元素和地址?
在此,我要拨开这些问题的一些迷雾。
我相信,有心人看完后,再遇就不会怕了。
其实声明,定义是一样的。因此,只写声明。
同时,把元素外层*()剥去就代表地址。因此只写元素。
最后有总结。
二维数组作函数参数,依我看来,至少可以分成三种。
事先,在main函数中 int a[m][n];
好了,进入主题。
第一种形参为二维数组
声明
void function(int a[m][n]);//函数声明
void function(int a[][n]);//不论多少维数组,第一维都可省略。
//凭什么,第二维就不可省略呢?由编译器的寻址方式决定。
调用
function(a);//函数调用 实参直接写数组名!数组名!(重点)。
//(注意)function(a[m][n])或function(a[][n])都不可以!
//话说,写数组名多好