#define

define 用于文本替换,称之为宏定义,基本形式为不带参数和带参数两中形式:

(1)#define   name    struff           eg:#define  NUM     100         

(2)#define   name(parameter-list)   struff     eg:#define  SUM(a,b)    ((a)+(b))



在利用define进行宏定义时,一定要多注意括号的使用。
(一)#define  SQUARE(x)     x*x
            #define  SQUARE1(x)    ( (x)*(x))
           x=2;
           (1)y= SQUARE(x);                           ----------->     y=4;
                     y= SQUARE1(x);                         ----------->     y=4;
           (2)y= SQUARE(x+1);                       ----------->     y=2+1*2+1=5
                     y= SQUARE1(x+1);                     ----------->     y=3*3=9
           (3)y= SQUARE(x++);                       ----------->     y=3*4=12   (分别使用x++替换x,则x先后变为3和4)
                     y= SQUARE1(x++);                       ----------->     y=3*4=12 (分别使用x++替换x,则x先后变为3和4)
            在define定义的宏参数中尽量避免使用++和--,避免例子中的(3)情况出现。

(二)条件编译时使用


# if defined(OS_UNIX)
	#ifdef    OPTION1
		unix_vesion_of_option1();
	#endif                     
	#ifdef    OPTION2
		unix_vesion_of_option2();
	#endif
#elif   defined(OS_MSDOS)
	#ifdef    OPTION2
		msdos_vesion_of_option2();
	#endif
#endif






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值