c语言typeof 用法 浅析C语言中typeof关键字用法
ComingFlying 人气:6想了解浅析C语言中typeof关键字用法的相关内容吗,ComingFlying在本文为您仔细讲解c语言typeof 用法的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c语言typeof,用法,c,typeof关键字,下面大家一起来学习吧。
前言
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关键字。
加载全部内容