我需要定义很多变量,我不想一个接一个地做。另外,我想了解更多关于宏的知识。所以我要说我必须像这样定义x1,x2,x3,x4,x5:
int x1;
int x2;
int x3;
int x4;
int x5;
我可以用宏来做吗?像这样:
#define defint(i) int x(i)//x(i) does not work. I need to somehow combine x and i. How??
然后为我想要定义多少个变量做一个for循环?
更新 :我将使用它为Operating system
的某些代码中的许多陷阱定义许多处理程序,因此我不想使用数组(我希望我的引导加载程序尽可能小:P)
UPDATE2 :似乎我必须让自己更清楚。因为它是os代码,所以它也有汇编代码。因此,一半代码在 C 中,一半在asm中。我在汇编中通过宏定义所有变量,并在 C 中使用它们来声明它们extern
:)。
答案 0 :(得分:4)
使用令牌粘贴:
#define DEFINT(i) int x ## i
另外,看看我如何不包含尾部分号,因为你在使用宏时想要它,使它看起来像一个语句。