1

次の宣言があります。

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

次に、「a」と「a[0]」の要素数を見つける必要があります。C または C++ でこれを行うにはどうすればよいですか?

4

1 に答える 1

2

私の知る限り、配列の最初の要素を関数/メソッドへのポインタとして渡すと、動的に割り当てられた配列の要素数を見つける方法はありません。ベスト プラクティスは、このような配列の使用を避けることです。使用する場合は、割り当てられた要素の数をポインターと共に渡します。

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

int main(){
 int * arr = new int[10];
 doSomething(arr, 10);
}
于 2017-05-02T19:24:47.863 に答える