#define属于预处理命令,所谓预处理是指在进行编译之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。
它主要有3种作用
1.定义常量,如#define PI 3.1415926。类似于const float PI = 3.1415926 预编译的时候预编译器会将PI翻译为3.1415926
2.简化输入,增加可读性#define max(a,b) (a > b ? a : b) 之后就可以调用max(3,5),预处理之后等价于3 > 5 ? 3 : 5;它类有函数的优点,但节省了函数的开销。
3.超越函数的功能#define forin(i,from,to) for(i=from,i<to,++i) 这样调用: int index; forin(index,0,10){ printf("%d",i); }