前言
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),