C语言 typedef

C 语言提供了 typedef 关键字,可以使用它来为类型取一个新的名字。

一、typedef

typedef 能够为现有的数据类型指定别名

1
typedef 原名 新名;

例如:

1
typedef long long LL;

为 long long 设置一个更简单的名字,方便程序的编写。

二、typedef 和结构体配合使用

1
2
3
typedef struct 结构体名{
参数表列;
}结构体别名;
  • 声明后便可以直接用结构体别名(而无需加 struct)定义结构体变量

  • 可以将结构体名与结构体别名设为相同,使用更加方便

  • 若需要在结构体中定义指向同类结构体的指针,不能使用别名

    例如:

    1
    2
    3
    4
    typedef struct Node{
    int num;
    struct Node *next;
    }Node;

三、typedef 和数组配合使用

1
typedef 数组类型 数组别名[数组大小];

例如:

1
2
typedef int Num[100];
Num a; //这样便定义了一个大小为100的整型数组

四、typedef 和指针配合使用

1
typedef 指针类型 *指针别名;

例如:

1
2
typedef int *S;
S p; //这样就定义了一个int型的指针

五、typedef 和函数指针配合使用

1
typedef 指针类型 (*指针别名)(参数表列);

参考