#define指针a-> b到另一个指针c

时间:2013-08-11 07:28:29

标签: c

我可以做点什么吗

#define a->b c

我试过了,编译器抱怨" ISO C在宏名称之后需要空格"

我想要完成的是重用代码。我想做点什么:

#ifdef DEBUG
#define a->b c
#endif

其他任何方式吗?

1 个答案:

答案 0 :(得分:6)

#define的语法是

#define <MACRONAME> <MACROVALUE>

应遵循名称,中间有space
因此,您要通过将宏定义为

来实现
#define c (a->b)

here 显示需要围绕宏的括号以避免逻辑错误。


注意:但是以这种方式使用宏是不受欢迎的。当基本细节被隐藏起来时,很难理解代码。此外,对于这样的编码实践,无论是性能还是代码大小,都没有任何好处。