更新使用c中的#define定义的变量的值

时间:2017-01-26 16:05:59

标签: c

用C语言编写 如果我使用#define定义一个值 例如:

#define STATE 1

我可以在程序中进一步更新STATE的值吗? 如果有可能,请告诉我怎么做?

1 个答案:

答案 0 :(得分:0)

预处理器是一个文本替换系统。换句话说,当您在程序的其他位置使用符号STATE时,它将被其定义(1)替换。

例如,如果你写:

printf("%d\n", STATE);

预处理器用STATE替换1,编译器实际“看到”的是:

printf("%d\n", 1);

如果您尝试在C代码中更新STATE,则会收到有关分配r值的错误。

如果要在预处理器中重新定义状态,可以执行以下操作:

#define STATE 1
#undef STATE
#define STATE 2