2013-10-05 24 views
0

我有以下聲明:如何找到在動態數組元素的個數

char ***a; 
a = new char**[1]; 
a[0] = new char*[2]; 
a[0][0] = "Dynamic"; 
a[0][1] = "Array"; 

現在我需要找到「一個」,以及在「A [0]」元素的數量。我如何在C或C++中執行此操作?

+1

相關:http://stackoverflow.com/a/8320324/951890的 –

+0

可能重複[這是找到一個動態分配的數組的長度的好方法?(http://stackoverflow.com/question/8320297/is-this-a-good-way-to-find-the-length-of-a-dynamic-allocated-array) – SJuan76

+0

no_of_elements = sizeof(array)/ sizeof(array [0]); – Vandesh

回答

2

據我所知,當您將數組的第一個元素作爲指向某個函數/方法的指針時,無法找到動態分配數組中的元素數量。最佳做法是避免使用這樣的數組,並且在使用它時,將指定的元素數與指針一起傳遞。

void doSomething(int * p, int elms) { 
//... 
} 

int main(){ 
int * arr = new int[10]; 
doSomething(arr, 10); 
} 
相關問題