浅析C语言中typeof关键字用法
发布时间:2020-12-16 05:13:11 所属栏目:百科 来源:网络整理
导读:前言 C语言中 typeof 关键字是用来定义变量数据类型的。在linux内核源代码中广泛使用。 下面是Linux内核源代码中一个关于typeof实例: #define min(x,y) ({ typeof(x) _min1 = (x); typeof(y) _min2 = (y); (void) (_min2); _min1 _min2 _min1 : _mi
前言 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括号中也可以是函数 例: int function(int,int); typeof(function(1. 2)) val; 此时val的数据类型为 函数function(int,int)返回值的数据类型 ,即int类型。(注意: typeof并不会执行函数function)。 typeof关键字有点类似与c++中的decltype关键字。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |