关于宏的一点注意
摘要:在一般的宏定义中,我们使用如:#define PI 3.1415926或者带参数的宏如:#define MIN(x,y) ((x) < (y) ? (x) : (y))在gnu c中扩展的宏的格式为:({内容}),如:#define MIN(x, y) ({ \ const typeof(x) _x = x; \ const typeof(y) _y = y; \ (void *)(&_x == &_y); \ _x < _y ? _x : _y; \})在这样的宏定义中,以最后一个表达式的值作为整个宏的结果!
阅读全文
posted @ 2013-07-07 22:58
浙公网安备 33010602011771号