在C或C++中,为多维数组分配的内存是否总是连续的,或者存储空间是否依赖于编译器?如果保证它是连续的,有没有标准可供参考?例如
int x[2][2] = { { 1 , 2 } , { 5 , 10 } } ;整数1、2、5、10在内存中是否按顺序排列?
发布于 2015-04-17 10:27:46
保证数组是连续的。我们这里有一个数组数组--每一层都是连续的。我们知道最里面的数组必须是{1, 2}和{5, 10},最外面的数组也必须是连续的。因此,{{1,2},{5,10}}在内存中必须依次为1、2、5、10。
发布于 2015-04-17 11:25:58
是。数组总是分配在连续的内存位置中。不管是一维数组还是多维数组。
https://stackoverflow.com/questions/29689197
复制相似问题