无论如何我是否可以在没有预处理器指令的条件基础上初始化成员?
发布时间:2020-12-16 10:11:14 所属栏目:百科 来源:网络整理
导读:我有一系列结构.在初始化期间,我需要在条件基础上初始化.说 struct struct_name[arraySize] = { {1,'a'},{2,'b'},#if condition {3,'c'}#else {4,'d'}#endif }; 在上面的代码中,我使用预处理器指令控制初始化.无论如何,我可以在不使用预处理器指令的情况下进
我有一系列结构.在初始化期间,我需要在条件基础上初始化.说
struct struct_name[arraySize] = { {1,'a'},{2,'b'},#if condition {3,'c'} #else {4,'d'} #endif }; 在上面的代码中,我使用预处理器指令控制初始化.无论如何,我可以在不使用预处理器指令的情况下进行此条件编译吗? 解决方法
是的,使用三元运算符,就像这样.
#include <stdio.h> struct struc { int number; char letter; }; int main() { int condition = 1; struct struc array[] = {{1,{condition ? 3:4,condition ? 'c':'d'}}; return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |