所谓宏定义就是指定一个标示符来代表一个字符串
主要分为两类:一个是带参的,一个是不带参的
第一个不带参:
例:
- #include<stdio.h>
- #define P 3.1415
- int main()
- {
- int max;
- max=P;
- printf("%f",max);
- return 0;
- }
这就是说,P就是3.1415
它的方便之处在于,在整个程序中,如果要改max的值,而且max在程序中,多处用到max这时,我要改max的值,直接改P的值就可以了,比直接改max方便多了……
第二类,有参数的宏定义
例
- #include<stdio.h>
- #define P 3.1415
- #define Area(r) P*r*r
- int main()
- {
- printf("%f",Area(2));
- return 0;
- }
带参数的宏定义实际上是,进行简单的字符串替换……
这里如果Area(1+2),那么编译环境会这样进行:P*1+2*1+2
我们的想法想叫他是P*(1+2)*(1+2),这时就应该这样写Area((1+2))
宏定义说白了就是替换,原模原样的替换……