博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于宏的一点注意
阅读量:6599 次
发布时间:2019-06-24

本文共 336 字,大约阅读时间需要 1 分钟。

在一般的宏定义中,我们使用如:

#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;    \

})

在这样的宏定义中,以最后一个表达式的值作为整个宏的结果!

转载于:https://www.cnblogs.com/lpfrylzx/p/3176870.html

你可能感兴趣的文章
Xstream 简单实用教程
查看>>
Nagios监控之11:NRPE脚本监测信息输出格式
查看>>
WhipTail全闪存阵列目标性能、延迟
查看>>
自定义批量改变图片大小
查看>>
Python3 元组
查看>>
mysql备份之xtrabackup(建议用来备份innodb)
查看>>
linux下EOF写法梳理
查看>>
算法题(有关100阶楼梯的算法java)
查看>>
查两个表中两列都不相等的SQL
查看>>
我的友情链接
查看>>
tomcat 多个端口运行多个web项目
查看>>
C语言——指向函数的指针
查看>>
实战jsp预编译,充分享受jsp预编译的好处!
查看>>
WIN8转WIN7的两三事
查看>>
Ubuntu 开机出现 grub rescue 的模式下修复
查看>>
java 循环文件夹读取PDF,并转换成jpg
查看>>
过滤器链
查看>>
ORCAD16.6中原理图DRC检查(下)
查看>>
中小型网络最全的VLAN技术(一)
查看>>
头戴显示器
查看>>