北京做手机网站,公司网站的具体的建设方案,一级a做爰片不卡的网站,免费黄页营销网站宏就是文字展开#xff0c;实际中能够展开写出来发现错误。6.1 不能忽视宏定义中的空格 6.2 宏并非函数宏定义一个函数时#xff0c;1、要把每一个參数用括号括起来2、同一时候也要把整个表达式括起来。3、要确保宏中的參数没有副作用#define max(a,b) ((a)(b)?(a):(b)… 宏就是文字展开实际中能够展开写出来发现错误。 6.1 不能忽视宏定义中的空格 6.2 宏并非函数 宏定义一个函数时 1、要把每一个參数用括号括起来 2、同一时候也要把整个表达式括起来。 3、要确保宏中的參数没有副作用 #define max(a,b) ((a)(b)?(a):(b)) max(big,x[i]),这时有可能被计算两次产生了副作用。 宏有可能由于自增减操作产生副作用。也有可能产生很庞大的表达式。 消除if else的副作用 #define assert(e) \ ((void)((e)||_assert_error(__FILE__,__LINE__))) 6.4 宏并非类型定义 #define T1 struct foo * typedef struct foo *T2 T1 a,b; //声明被扩展为struct foo *a,b; b不是指针 。 T2 a,b; 转载于:https://www.cnblogs.com/jzssuanfa/p/6785231.html