C中的变量名

在预处理器中,我们可以在宏之间切换,如

#define BUFF(n) BUFF_##n 

因此,BUFF(1)将被BUFF_1取代,BUFF(2)将被BUFF_2和歌曲取代

这可以适用于C变量吗? 即动态选择相似的变量。 我知道这是一个奇怪的情况,可以使用数组或任何其他结构来处理..但情况要求我这样的情况..你可以帮助这个..请提前感谢

是的,您可以使用该宏将BUFF_应用于任何内容。 预处理器将扩展宏,然后编译器将尝试编译结果。 后者可能会失败,因为如果使用BUFF(+)则会得到BUFF_+并且这不是有效的变量名。

当然,你可以做到这一点。 预处理器宏只是在编译之前对代码执行的文本替换。 但是,您无法在运行时执行此操作。