Cで次のように定義された配列がある場合:
int B[d1][d2][d3][d4][d5][d6][d7][d8][d9];
次に、「B」を 1 次元のものに変換するのは簡単です。しかし、次のように定義されている C の配列がある場合はどうなるでしょうか。
int********* A;
//which will be allocated as follows for example
A = (int*********) malloc(N*sizeof(int********));
for(int i=0; i<N; i++)
{
//differentSizes will be distinct for every "i"
//the same distinctness of sizes will be for every other
//inner parts of all inner for loops
compute(&differentSizes);
A[i] = (int********) malloc(differentSizes*sizeof(int*******));
for(...)
{
...
}
}
「A」はすべての次元で非常に大きなサイズになり、「A」のすべての内部配列/サブ配列ですべて異なります。
私の質問:「A」を 1 次元のものに変換する効率的な方法はありますか? 可能であれば、簡単な例を示していただけますか? ありがとう!