头图
此篇博客适合初学者阅读,希望我的科普能为你的学习增加更多动力

Typedef 是编程语言 C 和 C + + 中的一个保留关键字。
它用于为另一个数据类型创建附加名称(别名) ,但不创建新类型,除非是数组类型的限定 typedef,其中 typedef 限定符被转移到数组元素类型。因此,它通常用于简化声明由 struct 和 union 类型组成的复杂数据结构的语法,但是在为不同长度的整数数据类型提供特定的描述性类型名称时也同样常见。

1.为自定义数据类型(结构体、共用体和枚举类型)定义简洁的类型名称

刚自学入门c的时候,坦白的说,我看的这个demo和输出结果,我对typedef的第一印象是替换,当然我对我当初的理解,在现在看来,也是能够解释的通的。

    typedef struct tagPoint
    {
        double x;
        double y;
        double z;
    } Point;

它实际等于

    struct tagPoint
    {
        double x;
        double y;
        double z;
    } ;

因为ponit转化成了结构体变量tagpoint

2.为基本数据类型定义新的类型名

例如这样:

typedef unsigned int ABC;

可能看到这里,往往会想到结构体struct,具体区别可以参考

https://riptutorial.com/c/exa...,has%20to%20include%20the%20whole%20definition%20of%20bar.

3.为数组定义简洁的类型名称

例如这样:

    typedef int INT_ARRAY_100[100];
    INT_ARRAY_100 arr;

4.为指针定义简洁的名称

    typedef char* PCHAR;
    PCHAR pa;

以上就是全部区别了,如果你还有更多有意思或者更好的内容,欢迎评论区补充


瞿小凯
1.3k 声望593 粉丝