私の質問は、配列tab[a][b][c]
を持っている場合、tab[a]
をパラメータarray[b][c]
として使用できますか?ここでC n次元アレイをn次元配列パラメータとして使用する
は一例です:あなたは、配列tab[a][b][c]
を持っているとき
void function(int tab[5][6])
{
tab[4][3]++;
}
int main()
{
int tab[9][5][6];
for (int i=0;i<9;i++)
{
function(tab[i]);
}
return 0;
}
MSVCは "できます"しかし厳密に合法かどうかはわかりません。あなたの使い方は初期化されていないデータの 'tab [4] [3] ++;'操作のために*未定義の動作*を持っています。 –
式 'tab [i]'は '&'、 'sizeof'や' _Alignof'演算子を配列に適用しないので、式は配列の最初の要素へのポインタに変換されます。 'function'のプロトタイプの' int tab [5] [6] 'は' int(*)[6] '型に調整されているので、引数とパラメータの型は一致します。 *唯一の*問題は、初期化されていない値@WeatherVaneの読み込みです。 – EOF