0
我有以下聲明:如何找到在動態數組元素的個數
char ***a;
a = new char**[1];
a[0] = new char*[2];
a[0][0] = "Dynamic";
a[0][1] = "Array";
現在我需要找到「一個」,以及在「A [0]」元素的數量。我如何在C或C++中執行此操作?
我有以下聲明:如何找到在動態數組元素的個數
char ***a;
a = new char**[1];
a[0] = new char*[2];
a[0][0] = "Dynamic";
a[0][1] = "Array";
現在我需要找到「一個」,以及在「A [0]」元素的數量。我如何在C或C++中執行此操作?
據我所知,當您將數組的第一個元素作爲指向某個函數/方法的指針時,無法找到動態分配數組中的元素數量。最佳做法是避免使用這樣的數組,並且在使用它時,將指定的元素數與指針一起傳遞。
void doSomething(int * p, int elms) {
//...
}
int main(){
int * arr = new int[10];
doSomething(arr, 10);
}
相關:http://stackoverflow.com/a/8320324/951890的 –
可能重複[這是找到一個動態分配的數組的長度的好方法?(http://stackoverflow.com/question/8320297/is-this-a-good-way-to-find-the-length-of-a-dynamic-allocated-array) – SJuan76
no_of_elements = sizeof(array)/ sizeof(array [0]); – Vandesh