我需要静态(在* .h)文件中定义一个大小为12884901888的数组。定义大于无符号整数限制的大数组
unsigned char sram[12884901888]; //All of my code is C.
上面的声明给出错误,不起作用。
因为数组声明中使用的常量是unsigned int。但是我需要使用的常量(12884901888)大于unsigned int限制。
如何定义12884901888以上的数组?
谢谢。
-AD
P.S.我知道很多人会说,优化这个庞大的数组大小,但我需要使用相同的原因特定于我的情况。
你可能想要考虑使用一个二维数组。在这种情况下,我忘记了标准所说的内容,但我相当肯定(至少在C90中)固定大小的二维数组可以保证使用行指针布局。如果是这种情况,那么二维数组可以被当作一维数组(当然,使用行指针布局“公式”)。 – 2009-06-17 07:38:42