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关键字。

原文链接: https://www.cnblogs.com/Focus-Flying/p/9279176.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c语言中--typeof--关键字用法

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/249966

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午4:09
下一篇 2023年2月14日 上午4:09

相关推荐