typeof
是C语言中的一个关键字,与sizeof
类似,作用是得到参数的具体类型;
示例:
定义一个与a
类型相同的变量b
:
int a;
typeof(a) b;
在linux中有个很经典的用法如下:
#define __MIN(A,B) ({ typeof(A) __a = (A);\
typeof(B) __b = (B);\
__a < __b ? __a : __b; })
使用typeof
可以让这个宏具有泛化能力,无论什么传入类型的参数传入,都可以有效的判别大小;