如何通过宏定义变量

时间:2014-01-03 04:58:31

标签: c macros variable-declaration

我想定义声明和初始化变量的宏。更确切地说,我希望宏MYVARS(x,y)将被重新定义为

int myvar=x; 
int myvarr=y;

我写

#define MYVARS(x,y) int myvar=x;##\n##int myvarr=y;

但是在预处理之后,我发现MY_VAR(50,60)将被替换为int myvar=50\ nint myvarr=60;。如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

不需要在单独的行上使用变量声明。完全放弃\n并完成:

#define MYVARS(x,y) int myvar=x; int myvarr=y;

或者,甚至更好:

#define MYVARS(x,y) int myvar=x, myvarr=y;

答案 1 :(得分:0)

您可以使用:: #define MYVARS(x,y) int myvar=x,myvarr=y;

答案 2 :(得分:0)

你也可以尝试这个

#define MYVARS(x,y) int myvar=x;\
                    int myvarr=y;