📜  C-typedef-教程点(1)

📅  最后修改于: 2023-12-03 14:59:52.532000             🧑  作者: Mango

C语言中的typedef

在C语言中,可以使用typedef关键字创建类型别名,即给现有的数据类型起一个新的名字。这个新的名字可以用来代替原有的数据类型,可以让代码更加清晰易读。

基本用法

typedef的语法格式如下:

typedef 原类型 新类型名;

例如:

typedef int MY_INT;

这个语句会将int类型重新命名为MY_INT类型。接下来可以像使用int类型一样使用MY_INT类型:

MY_INT num = 10;
printf("%d", num);

上面的程序中,MY_INT实际上就是int类型,其值为10,输出结果为10

定义结构体别名

在C语言中,我们常常会使用struct定义一些复杂的数据类型。使用typedef可以非常方便的给这些结构体类型起一个别名,使得代码更加简洁清晰。

例如:

typedef struct
{
    int x;
    int y;
} Point;

这个语句会将一个包含xy两个成员的结构体类型重新命名为Point类型。接下来可以像下面这样使用Point类型:

Point p;
p.x = 10;
p.y = 20;
printf("(%d, %d)", p.x, p.y);
定义函数指针别名

typedef还可以用于定义函数指针类型的别名。例如:

typedef int (*Func)(int, int);

这个语句会将一个接受两个int类型参数并返回int类型结果的函数指针类型重新命名为Func类型。接下来可以像下面这样使用Func类型:

int add(int a, int b)
{
    return a + b;
}

Func func = add;
int result = func(10, 20);
printf("%d", result);

上面的程序中,Func类型实际上是一个函数指针类型,指向了add函数。result的值为30,因为func调用add函数,并将1020作为参数传递给它,最后将结果赋给了result

总结

通过typedef关键字,我们可以方便地给现有的数据类型、结构体类型、函数指针类型等起一个新的别名,以方便使用。在C语言中,typedef是非常实用的工具之一,需要经常使用。