预处理指令:
以#开头的行,都预处理指令,用于指示编译器做一些预处理工作。比如#include “XXX.h”
注:预处理指令不是语句,行尾不要加分号
#define的两种用法
1. 定义一个”数值”
2. 定义一个”算式”
注:工程中应该避免使用这两种方式

定义一个值

#define PI 3.14
int main()
{
    double r=1.2;
    double area=PI * r * r;
    return 0;
}

定义带参数的“算式”

#define MAX(a,b) a>b?a:b
int main()
{
    int a=MAX(10,12);
    return 0;
}

易错点

#define MUL 1+2
int main()
{
    int a=4*MUL;
    return 0;    //准确答案6
}

在程序中应该尽量少用这两种#define
取代的办法:
1. 定义变量或const常量
const double PI=3.14;
2. 定义inline函数(第八章)

inline int max(int a,int b)
{
    return a>b?a:b;
}