找回密码
 注册
搜索
查看: 1052|回复: 1

[资料] 宏定义副作用--------

[复制链接]
发表于 2011-6-19 00:16:17 | 显示全部楼层 |阅读模式
宏定义副作用--------

least = MIN(*p++, b);
将被替换为:
( (*p++) <= (b) ?(*p++):(b) )
发生的事情无法预料。
因而不要给宏定义传入有副作用的"参数"。

-------------------------------------- 概念  相关 -------------------------------------

------1.举例说明#define和typedef的用法的异同和好处----------

#define dPS struct s *
typedef struct s * tPS;

以上定义都试图tPS和dPS使作为一个指向结构s的指针。
dPS p1,p2;  /*扩展为struct s *p1,p2;p1为一个指向结构的指针,p2为一个实际的结构*/
tPS p3,p4;   /* 正确定义了p3,p4两个指针*/
typedef更好。
 楼主| 发表于 2011-6-19 00:17:43 | 显示全部楼层
#define MAX(a,b) ( (a)>(b)?(a):(b) )   /*注意括号的使用*/
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-1-26 15:47 , Processed in 0.044639 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表