首页 理论教育 C语言程序设计:使用typedef自定义类型名

C语言程序设计:使用typedef自定义类型名

时间:2023-11-23 理论教育 版权反馈
【摘要】:使用typedef给一个类型重新命名,一般情况下主要是为了让一个名字具有更确切的含义。一般用typedef定义的新的类型名用大写表示,以示和普通名字的区别。

C语言程序设计:使用typedef自定义类型名

除了可以使用C语言中的标准类型名和自己定义的各种类型名,C语言中还允许用typedef给一个已经存在的类型名重新命名。

例如:

typedef int HIcon;

其作用是给int类型重新起了一个名字“HIcon”,注意不是产生了一个新的类型,只是给int重新起名,二者代表的含义是一样的。例如:

程序中两个类型名均可使用,二者等价。

使用typedef给一个类型重新命名,一般情况下主要是为了让一个名字具有更确切的含义。例如:

显然使用age作为类型名比用int作为类型名更直观,看到这一类型名,我们第一感觉就是a是一个age类型的变量,其取值应该是一个人的正常的年龄范围,而不应是int类型的取值范围。

使用typedef还可以简化书写,例如在定义结构体变量时,一般struct不可以省略,但可以使用以下方法简化:

注意此时的student是一个类型名而不是变量名,在定义结构体的同时用typedef给该类型重新起了一个名字student,这样在定义变量时可以直接使用student作为类型名字,简化了书写。

使用typedef也可以定义数组类型,如:

typedef int A[10];

此时A不再是数组名而是一个类型名,代表的是可以保存10个int数据的这样的“一类”数组,例如:(www.xing528.com)

A a;

则a就是一个A类型的一个变量,它是一个真正的数组,可以存放10个int数据。

如有以下定义:

A b[5];

则说明b是一个有5个单元的一维数组,其每一个单元中可以存放一个A类型的数组,实质上b已经是一个二维数组。还记得指针一章中二维数组和指针的关系吗,当时我们正是这样来理解二维数组的。

用typedef声明一个新的类型名字,可以按以下步骤完成:

(1)先按变量定义的方法写出定义(如int a[10];);

(2)再在前边加上typedef(typedef int a[10];);

(3)将变量名替换成新的类型名(typedef int A[10];)。

一般用typedef定义的新的类型名用大写表示,以示和普通名字的区别。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈