c语言复习(二)宏定义和条件编译

宏定义:
define  G 9.8

 。。。。。

。。。。。。

#undef G

宏定义的作用域

注意不同:

 #define  AB(X) x*x-2*x+10

AB(1+2)=1+2*1+2-2*1+2+10=15

AB(3)=3*3-2*3+10=13

AB(3)*10=3*3-2*3+10*10=103

 

#define AB(x)  ((x)*(x)-2*(X)+10)

AB(1+2)=(1+2)*(1+2)+10=13

AB(3)*10=(3*3-2*3+10)*10=130

 

 宏只是进行简单的字符替换。宏展开是编译前进行的,在展开时不分配内存单元。宏不存在类型问题,宏名没有类型。它的参数也没有类型。只是一个符号代表。展开时带入指定的字符串即可。

条件编译:

#define Debug

#ifdef Debug

....

#else

......

#endif

#if

#else

#endif

posted @ 2013-05-28 21:18  丁昌兴  阅读(318)  评论(0编辑  收藏  举报