定义#define宏

mon*_*ard 1 c c-preprocessor

我想知道C语言中是否有一种方法可以#define像这样定义:

#define something #define
something a 42
something b 42
Run Code Online (Sandbox Code Playgroud)

P.P*_*.P. 5

不,在C中是不可能的.不允许在另一个宏中定义宏.

C标准:

6.10.3.4重新扫描和进一步更换

3由此产生的完全宏替换的预处理标记序列不会作为预处理指令处理,即使它类似于1,但其中的所有编译指示一元运算符表达式将按照下面的6.10.9中的规定进行处理.