C語言中將二維陣列作為引數傳遞給函式的方法

2021-07-10 11:11:21 字數 1000 閱讀 7928

原文:

二維陣列的函式引數傳遞的問題,以前解決過好幾次,總還是忘記,這回總結出來寫在這裡。

#include

/********************************* 

* 方法1: 第一維的長度可以不指定 * 

*                但必須指定第二維的長度 *                             

*********************************/ 

void print_a(int a[5], int n, int m)       

} /***************************************** 

*方法2: 指向乙個有5個元素一維陣列的指標 * 

*****************************************/ 

void print_b(int (*a)[5], int n, int m)           

}/*********************************** 

*方法3: 利用陣列是順序儲存的特性, * 

*              通過降維來訪問原陣列!          * 

***********************************/ 

void print_c(int *a, int n, int m)                             

}int main(void) 

, , , , }; 

printf("\n方法1:\n");   

print_a(a, 5, 5); 

printf("\n方法2:\n");   

print_b(a, 5, 5);   

printf("\n方法3:\n");   

print_c(&a[0][0], 5, 5); 

getch(); 

return 0;  } 

C語言二維陣列作為函式引數傳遞

二維陣列中元素排列的順序是按行存放的,即在記憶體中先順序存放第一行的元素,再存放第二行的元素.二維陣列作為函式引數,實參可以直接使用二維陣列名,在被呼叫函式中對形引數組定義可以指定所有維數的大小,也可以省略第一維的大 明,如 void f int a 3 4 void f int a 4 它們是合法...

二維陣列作為引數傳遞

void getoffdata float offdata,int col void main 報錯d qt projects rssi position main.cpp 17 error cannot convert float 16 to float for argument 1 to voi...

二維陣列作為引數傳遞

l二維陣列題的思維收穫 這個演算法跟資料結構沒關係,主要是邏輯思維看圖思考利用的是資料之間的關係 多多舉例具體化嘗試,把複雜的問題具體化,分析那種情況,時間複雜度低。先有思路,再寫 貼近自己的思維。l二維陣列處理的 收穫 在c 中將二維陣列當作引數的時候,必須指明所有維數大小或者省略第一維。但是我們...