我想在宏中获取字符串数组。
第一:有可能吗?
如果是,我可以在使用时根据索引逐个调用它们吗?
像这样的:
#define VAR "abc", "def", "xyz"
当我想在某处使用“def”时,
FUNC(VAR[1]);
最佳答案
#define VAR(...) const char *FOO[] = { __VA_ARGS__ }
...
VAR("abc", "xyz");
printf("%s\n", FOO[0]);
但请注意:
宏是邪恶的。
在宏中声明变量是有史以来最糟糕的主意。
关于c - 宏中的字符串数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13990267/