int a[2][2]=, };
我定義了這樣乙個陣列,我想把這個陣列作為引數,傳遞到乙個函式中,並要在函式中能引用該二維陣列的元素,我該怎麼做?
第一種方式是直接傳遞二維陣列,但是必須標明第二維的值,因為如果只是傳遞a,編譯器無法分配這樣的陣列,所以要這樣傳int a[3]
第二種方法是傳遞指標陣列方式,即int (*a)[3]
第三種是傳遞指標方法。
具體實施見**:
[cpp]view plain
copy
//二維陣列傳參問題示例
#include
using
namespace
std;
//方法1:傳遞陣列,注意第二維必須標明
void
fun1(
intarr[3],
intirows)
cout<}
cout<}
//方法二:一重指標
void
fun2(
int(*arr)[3],
intirows)
cout<}
cout<}
//方法三:指標傳遞,不管是幾維陣列都把他看成是指標,
void
fun3(
int*arr,
intirows,
inticols)
cout<}
cout<}
intmain()
,};
fun1(a,2);
coutcout//所以必須強制轉換成指標,如果a是一維陣列則不必進行強制型別轉換
//為什麼一維陣列不用強制轉換而二維陣列必須轉換,此問題還沒解決,期待大牛!
fun3((int
*)a,2,3);
cout<}
二維陣列作為引數傳遞問題
int a 2 2 我定義了這樣乙個陣列,我想把這個陣列作為引數,傳遞到乙個函式中,並要在函式中能引用該二維陣列的元素,我該怎麼做?第一種方式是直接傳遞二維陣列,但是必須標明第二維的值,因為如果只是傳遞a,編譯器無法分配這樣的陣列,所以要這樣傳int a 3 第二種方法是傳遞指標陣列方式,即int ...
二維陣列作為引數傳遞
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 中將二維陣列當作引數的時候,必須指明所有維數大小或者省略第一維。但是我們...