可能是一个幼稚的问题——我在 20 年前就开始编程,从那以后就很少编码了。从那以后,我对这些作品的记忆力C preprocessor
大大萎缩了……
我正在编写一个非常简单的C
程序,并且我正在尝试声明一些静态全局数组,但是它们的大小arrays
将取决于(以非平凡的方式)一个MODE
变量。类似于下面的简化示例。
两个要点:我知道我可以arrays
根据 any 所需的最大尺寸来调整尺寸MODE
,但我不想这样做,因为(与下面的简化示例不同)有时这些尺寸中的一小部分会非常大,而其他的很小。
另外,我想使用静态定义的全局数组——而不是在运行时动态分配它们。我希望编译器在编译时具有大小。
//** Simplified example of what I'd like to do **//
#define SIZE_LIST_1[5] = {2, 7, 23, 33, 12, 76} // I don't think this is valid syntax
#define SIZE_LIST_2[5] = {11, 65, 222, 112, 444}
#define MODE 4
#define S1 SIZE_LIST_1[MODE]
#define S2 SIZE_LIST_2[MODE]
int a[S1], b[S2];