使用以下方法之一时是否存在任何性能问题?哪个更快(如果有的话)?如果有任何性能测试,那就太好了。
多维数组:
// Using multidimmentional array:
int ****multidim_arr;
// ... initialization, etc. ...
int val = multidim_arr[a][b][c][d];
平面阵列:
// Using flat array (or single array)
int *flat_arr;
// ... initialization, etc. ...
int val2 = flat_arr[a * a_lvl + b * b_lvl + c * c_lvl + d];
更新:
数组具有固定大小,但内存由 malloc() 函数分配,因为在程序运行时大小是已知的。