打印
[应用相关]

C语言typeof详解

[复制链接]
326|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
janewood|  楼主 | 2023-9-30 07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前言:
    typeof关键字是C语言中的一个新扩展,这个特性在linux内核中应用非常广泛。

一,说明
    typeof的参数可以是两种形式:表达式类型

    1,表达式的的例子:
        typeof(x[0](1)
        这里假设x是一个函数指针数组,这样就可以得到这个函数返回值的类型了。
        如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。
        以下示例声明了int类型的var变量,因为表达式foo()是int类型的。由于表达式不会被执行,所以不会调用foo函数。
            extern int foo();
            typeof(foo()) var;

    2,参数的例子:
        typeof(int *) a,b;
            等价于:
            int *a,*b;


二,实例
    1,把y定义成x指向的数据类型:
           typeof(*x) y;
    2,把y定义成x指向数据类型的数组:
           typeof(*x) y[4];
    3,把y定义成一个字符指针数组:
            typeof(typeof(char *)[4] y;
    这与下面的定义等价:
            char *y[4];

    4,typeof(int *) p1,p2; /* Declares two int pointers p1, p2 */
            int *p1, *p2;

    5,typeof(int) *p3,p4;/* Declares int pointer p3 and int p4 */
            int *p3, p4;

    6,typeof(int [10]) a1, a2;/* Declares two arrays of integers */
            int a1[10], a2[10];


,局限
    typeof构造中的类型名不能包含存储类说明符,如externstatic。不过允许包含类型限定符,如constvolatile
    例如,下列代码是无效的,因为它在typeof构造中声明了extern:
        typeof(extern int) a;

使用特权

评论回复
沙发
Stahan| | 2023-9-30 10:40 | 只看该作者
自定义类型也可以用吗?

使用特权

评论回复
板凳
中国龙芯CDX| | 2024-4-29 08:37 | 只看该作者
typeof关键字是C语言中的一个新扩展,这个特性在linux内核中应用非常广泛。

使用特权

评论回复
地板
yellow555| | 2024-4-29 15:41 | 只看该作者
在typeof构造中声明了extern就会无效吗?

使用特权

评论回复
5
芯路例程| | 2024-4-29 15:43 | 只看该作者
没用过这个函数,这个特性挺抽象得。

使用特权

评论回复
6
AIsignel| | 2024-4-29 16:10 | 只看该作者
这个函数在C++几可以用得?

使用特权

评论回复
7
帛灿灿| | 2024-9-6 07:11 | 只看该作者

JUnit(用于 Java)、SUnit(用于 Smalltalk)和 CppUnit(用于 C++)等框架提供了丰富的功能集

使用特权

评论回复
8
Bblythe| | 2024-9-6 08:14 | 只看该作者

通过输入和输出电流环“逃逸”到外面环境中

使用特权

评论回复
9
周半梅| | 2024-9-6 10:10 | 只看该作者

一种了解状态变化的简单方法

使用特权

评论回复
10
Pulitzer| | 2024-9-6 11:13 | 只看该作者

输入环路通过近似直流的电流对输入电容充电

使用特权

评论回复
11
Wordsworth| | 2024-9-6 14:12 | 只看该作者

接收到的RF(射频)能量越大

使用特权

评论回复
12
Clyde011| | 2024-9-6 15:15 | 只看该作者

错误的比较大的Ⅵ乘积结果

使用特权

评论回复
13
公羊子丹| | 2024-9-6 16:08 | 只看该作者

定时器输出引脚的设定

使用特权

评论回复
14
万图| | 2024-9-6 17:11 | 只看该作者

关系到它们的频率响应

使用特权

评论回复
15
Uriah| | 2024-9-6 18:14 | 只看该作者

使它们之间的电流通路尽可能短

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

1273

帖子

1

粉丝