2013-08-07 58 views
1

我有一個C數組是這樣的:如何獲取像這樣的C數組元素的數量?

double arr[] = { 
    0.0, 0.1, 0.2, 0.5, 
    0.1, 0.2, 0.3, 0.4, 
    0.2, 0.0, 0.1, 0.3 
}; 

它是安全的得到這樣的元素個數?

int numElements = sizeof(arr)/sizeof(arr[0]); 

或者還有更好的方法嗎?

+1

是的,它是...... –

+0

omg,你是最好的 –

+0

請記住,這將不適用於動態數組,我也[請解釋'sizeof(arr)/ sizeof(arr [0])'的作用/含義](http://stackoverflow.com/questions/18009725/weird-behavior-when-printing-array-in-c/18009736#18009736) –

回答

4

這是一種安全的方式,如果你看看其他問題有關數組的大小,你會發現這是最常見的建議

等等。

居然在最後一個建議是做

#define ARRAY_SIZE(array) sizeof(array)/sizeof(array[0]) 
2

我不知道任何其他方式做到這一點,因爲你沒有一個尺寸。

它是reliable, yes

5

這是最好的方法。即使在C programming中建議使用Dennis ritchie

2

根據我的知識,沒有其他更好的方法,這裏沒有問題。
java,有鋸齒陣列。如果它也在c,那麼你的想法可能是正確的。

相關問題