C语言中 typeof 关键字是用来定义变量数据类型的。在linux内核源代码中广泛使用。
下面是Linux内核源代码中一个关于typeof实例:
| 代码如下 | 复制代码 |
#define min(x, y) ({ typeof(x) _min1 = (x); typeof(y) _min2 = (y); (void) (&_min1 == &_min2); _min1 < _min2 ? _min1 : _min2; }) | |
1.当x的类型为是 int 时 _min1变量的数据类型则为 int。
2.当x为一个表达式时(例: x = 3-4), _min1变量的数据类型为这个表达式结果的数据类型。
.......
3.typeof括号中也可以是函数
例:
| 代码如下 | 复制代码 |
intfunction(int,int); typeof(function(1. 2)) val; | |
此时val的数据类型为 函数function(int, int)返回值的数据类型 ,即int类型。(注意: typeof并不会执行函数function)。
typeof关键字有点类似与c++中的decltype关键字。
暖暖庄园破解版无限体力下载—最新免费无限钻石体力版
tp路由器ac1900和ac2100哪个好(tp路由器ac1900和ac2100选择推荐)
遗弃之地游戏氪金如何选择-遗弃之地游戏氪金选什么好
明日方舟终末地墓地这些用 墓地效果介绍容易被忽略
tp路由器ac1900标准版支持mesh吗(tp路由器ac1900标准版支不支持mesh)
真三国无双起源梦幻四英杰DLC新增武器是什么-真三国无双起源梦幻四英杰DLC新增武器有哪些