陣列元素個數可通過如下方式得到:
sizeof(a)/sizeof(a[0])
但是陣列作為函式引數時,就發生了變化,測試如下:
#includeusing namespace std;
void test(int a)
int main()
; cout << "-----------main中----------" << endl;
//陣列大小
cout << "sizeof(a): " << sizeof(a) << endl;
//每個元素大小
cout << "sizeof(a[0]): " << sizeof(a[0]) << endl;
//陣列元素個數
cout << "元素個數: " 結果為:
可以看到,相同的陣列,作引數時大小發生了變化。
但可以正確訪問:
原因可能是:只將陣列指標傳了過去,並沒有傳陣列的大小。
C 陣列作引數傳遞
這幾天自己寫了乙個 d3d畫圖的類 很短 都沒幾行 除錯 沒有錯誤但是執行的時候卻 一直不會出影象不知道怎麼回事 最後只有慢慢改 不用類 和 類 結合起來慢慢除錯 最後 終於找到了 原因 今天一直坐在電腦前 對這短短的幾行 卻就是不知道 錯了 真鬱悶啊 不過最後除錯出來還不錯 c 裡面陣列作引數傳遞...
C 二維陣列作函式引數
變數在作用域裡面被宣告的是什麼型別,就當作什麼型別來用。1 引數是二維陣列,但是要指定第二維的維數。int array 10 10 函式宣告 void fuc int a 10 函式呼叫 fuc array 在函式fuc中,a是二維陣列。使用a i j 形式來訪問陣列中元素。2 引數使用一維指標陣列...
C 二維陣列作函式引數
變數在作用域裡面被宣告的是什麼型別,就當作什麼型別來用。1 引數是二維陣列,但是要指定第二維的維數。int array 10 10 函式宣告 void fuc int a 10 函式呼叫 fuc array 在函式fuc中,a是二維陣列。使用a i j 形式來訪問陣列中元素。2 引數使用一維指標陣列...