#define的用法

今天看C程序的时候发现好多处这样的类似写法,
#define PUBLIC
#define PROTECTED
#define PRIVATE static。。不是#define 一般是用来宏定义的,比如
#include M (a+b)...小弟不才,不知道上面几个定义在此处有何用意,求大虾知道一二。。小弟很感激。。

#define PUBLIC
#define PROTECTED
这种写法,表示定义了 PUBLIC 和 PROTECTED
通常后面会有条件宏语句,例如
#ifndef PUBLIC
.....
#endif
用来做 预编译时 条件控制。
---------------
#define PRIVATE static
这种形式,大多用于字符串 预编译 时 的 字符串替代。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-23
宏定义#define的作用是简单的文字替换
所以,c=f(a)/f(b)被替换为
c=a*a/b*b
而不是
c=(a*a)/(b*b)
如果是c=f(1+2)/f(3+4),你会得到更有趣的结果呢:)
要想得到正确的结果,宏定义应改为
#definef(x)((x)*(x))
相似回答