C中的变量名

时间:2009-12-09 07:46:17

标签: c variables

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

#define BUFF(n) BUFF_##n

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

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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