可能是一个天真的问题 - 我曾经在20年前编程并且自那时起编码不多.我C preprocessor对此后作品如何萎缩的记忆......
我正在编写一个非常简单的C程序,我试图声明一些静态全局数组,但是它的大小arrays将依赖于(以非平凡的方式)MODE变量.类似下面的简化示例.
两个快速点:我知道我可以arrays根据任何所需的最大尺寸来确定尺寸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];
Run Code Online (Sandbox Code Playgroud)