方法一:
通過陣列名傳遞,形參的第一維寬度可以省,但是第二維引數不可以省略。
void f1(int a[4]) //或者a[3][4],第二維陣列不能省。
int main()
,, };
f1(a);
}
方法二:
指標傳遞,將陣列第幾行的首位址給指標。
void f2(int *p)
int main()
,, };
f2(a[1]); //將第二行的第乙個元素的位置給p
}
方法三:
二級指標傳遞。
void f3(int **p)
int main()
,, };
f3( (int**)a);
while (1);
}
方法四:
這種方法在函式內部可以使用符號訪問陣列元素,但是在呼叫函式前必須先開闢一段二級指標指向的記憶體,然後把陣列值拷貝到這一塊記憶體中,用完後必須手動釋放記憶體。優點是
同乙個函式可以接收不同長和寬的二維陣列
,缺點是必須手動開闢一段記憶體用完後還要手動**,並且要把二維陣列的值拷貝到開闢的記憶體中
void print(float **tab,int rows,int cols)
{ for(int i=0;i
引數傳遞二維陣列
cpp view plain copy void func1 intiarray 10 intmain 編譯通過,注意形參宣告一定要給出第二個維度的大小,要不編譯不過。cpp view plain copy void func2 int parray 10 void func2 1 int parr...
引數傳遞二維陣列
來看 c primer 中給出的方法 void func1 int iarray 10 int main 編譯通過,注意形參宣告一定要給出第二個維度的大小,要不編譯不過。void func2 int parray 10 void func2 1 int parray 編譯通過,無法呼叫 int ma...
引數傳遞二維陣列
來看 c primer 中給出的方法 cpp view plain copy void func1 intiarray 10 intmain 編譯通過,注意形參宣告一定要給出第二個維度的大小,要不編譯不過。cpp view plain copy void func2 int parray 10 vo...