在预处理器中,我们可以在宏之间切换,如
#define BUFF(n) BUFF_##n
因此,BUFF(1)将被BUFF_1取代,BUFF(2)将被BUFF_2和歌曲取代
这适用于C变量吗?即动态地在相似变量之间进行选择。我知道这是一个奇怪的情况,可以使用数组或任何其他结构处理..但情况要求我这样的情况..你可以帮助这个...提前感谢
答案 0 :(得分:4)
是的,您可以使用该宏将BUFF_
应用于任何内容。预处理器将扩展宏,然后编译器将尝试编译结果。后者可能会失败,因为如果您使用BUFF(+)
,则会获得BUFF_+
并且这不是有效的变量名称。
答案 1 :(得分:3)
当然,你可以这样做。预处理器宏只是在编译之前对代码执行的文本替换。但是,您无法在运行时执行此操作。