C語言中二維數組做輸入參數

C語言中二維數組做輸入參數時,

  1. 可以同時指定各維長度,
  2. 可以只指定第二維的長度,
  3. 不可以只指定第一維的長度,
  4. 不可以各維長度都不指定。

一句話總結:要指定至少指定第二維,都不指定是不行的。

具體栗子如下,請食用

正確:

  • void fun(int p[3][4]); 
  • void fun(int p[][4]);
  • void fun(int *p, int len, int hgt);  // p[i][j] => p + i*n + j; 
  • void fun(int **p, int len, int hgt);//注意!此時不可以用p[i][j]取值,而必須是*((int*)p + n*i + j) 具體原因見之後的解釋
  • void fun(int *(p[]), int len, int hgt);

錯誤:

  • void fun(int p[][]) ;
  • void fun(int p[3][]) ;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章