我有一系列结构.在初始化期间,我需要在条件基础上初始化.说
struct struct_name[arraySize] = { {1, 'a'}, {2, 'b'},
#if condition
{3, 'c'}
#else
{4, 'd'}
#endif
};
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我使用预处理器指令控制初始化.无论如何,我可以在不使用预处理器指令的情况下进行此条件编译吗?
是的,使用三元运算符,就像这样.
#include <stdio.h>
struct struc {
int number;
char letter;
};
int main()
{
int condition = 1;
struct struc array[] = {{1, 'a'}, {2, 'b'}, {condition ? 3:4, condition ? 'c':'d'}};
return 0;
}
Run Code Online (Sandbox Code Playgroud)