しばらく前に、次のような構造に「多次元配列」という用語を使用すると (コミットで) 言われた質問をしました。
int **a;
次のように初期化します。
a = malloc(n * sizeof(*a));
for (i = 0; i < n; ++ i)
a[i] = malloc(m * sizeof(*a[i]));
誤解を招く可能性があり、これは多次元配列の「単なるエミュレーション」です。英語のネイティブ スピーカーではないので、適切な用語を理解するのに苦労しています。残念ながら、用語について不満を言った男は、自分自身を助けることはできませんでした.
案の定、「多次元配列のエミュレーション」という用語は、テキスト/会話で実際に使用するには長すぎます。
総括する:
- 上記の構造の適切な用語は何ですか (違いがある場合は特に C で)?
副次的な質問:
- この用語は言語に依存していませんか? そうでない場合、たとえば C++ ではどのように呼び出されますか?
注:あなたの答えが参照にリンクされていれば幸いです。
編集:この構造との違いを理解していint a[n][m];
ます。それは問題ではありません。
アップデート
割り当てられるメモリは必ずしも規則的ではありません。この構造はより正確です。
a = malloc(n * sizeof(*a));
for (i = 0; i < n; ++ i)
if (needed[i])
a[i] = malloc(m[i] * sizeof(*a[i]));
else
a[i] = NULL;