admin 管理员组

文章数量: 887021


2024年1月23日发(作者:modelandview)

typedef用法

typedef是C语言当中的一个专有名词,它允许用户将一个已存在的类型重新命名,以便于在使用的时候拥有更加方便的读写,本文将简单介绍typedef的使用方法。

typedef是一个类型定义关键字,它可以让你以简短的方式创建一个新的名词,指的是一种已存在的类型。这个新的类型名可以作为一个普通的类型名一样使用,但是它还是指向原来的类型。有了typedef,当我们想要使用一个复杂的类型名时,我们可以给它定义一个简单的别名,用来避免拼写错误或者重复书写,以及使程序变得更容易理解。typedef可以作用于所有的数据类型,比如整型int、字符型char、浮点型float、指针型指针*、结构体struct、联合体union等等。

例如,我们可以使用typedef对整型int类型进行重新命名,不用每次使用到这个类型时都要写全“int”,比如:

typedef int number;

这句话的意思就是,定义一个新的类型(number),它指向已经存在的int类型,现在我们可以使用number来代替int,下面的这段代码就可以这样写:

number a = 10;

这表示a为一个int类型,值为10。

要定义指针类型的typedef,我们的写法也很简单:

typedef int *pttype;

- 1 -

这样一来,pttype就指向了int类型的指针了,即pttype指针指向int类型的变量,下面的这段代码就可以这样写:

int b = 5;

pttype q = &b;

这表示q为一个指向b的指针(int类型的指针)。

typedef也可以用于自定义类型,比如对结构体struct创建类型别名:

struct student

{

int age;

int weight;

float height;

};

typedef struct student stu;

这样一来,stu就可以用来定义student类型的变量了,我们可以这样使用:

stu s;

= 20;

= 50;

= 1.75;

联合体union也可以使用typedef创建类型别名,比如:

union number

- 2 -

{

int a;

double b;

};

typedef union number num;

这样,我们就可以定义num类型的变量了,用法如下:

num n;

n.a = 10;

上面这些就是typedef的常用用法,而且typedef也可以继续嵌套使用,比如可以把上面给出的stu结构体当作另一个结构体的成员:

struct people

{

stu s;

int age;

};

typedef struct people pp;

这样,pp就是people结构体的类型别名,我们可以这样使用:

pp p;

= 20;

= 50;

= 1.75;

= 25;

- 3 -

以上就是typedef的用法,总之,typedef的作用是可以把复杂的类型名称重新命名为简单的别名,使程序变得更易读、更易理解,同时程序的可读性也有所增强,使编程变得更容易。

- 4 -


本文标签: 类型 使用 比如 指针 结构