C语言不仅提供了丰富的数据类型,而且还允许用户自定义类型。即允许用户为数据类型取“别名”,类型定义符typedef可用来实现此功能。例如,有整型变量a、b,其定义形式如下:
其中,int是整型变量的类型说明符。整型的完整写法为“integer”,为了增加程序的可读性可对整型说明符int用typedef重新命名。例如:
以后就可用INTEGER来代替int作整型变量的类型说明符了。
例如:
其中,“原类型名”为已存在的数据类型名,“新类型名”一般用大写字母表示,以便于区别。
用typedef进行类型定义,将对编程带来很大的方便,不仅使程序书写简单而且使意义更为明确,因而增强了程序的可读性。
1.用typedef定义数组
变量s1、s2的定义等效于如下语句。
2.用typedef定义指针
p、st的定义等价于如下语句。(www.xing528.com)
3.用typedef定义结构体类型
定义STUTP表示结构体类型struct student_type,然后可用STUTP来声明结构体变量。
“STUTP stul,stu2;”等价于“struct student_type stul,stu2;”。
以下是关于typedef的几点说明。
(1)用typedef可以声明各种类型名,但不能用来定义变量。
(2)用typedef只是对已经存在的类型增加一个别名,并没有创造出新类型。
(3)typedef与#define有相似之处。例如:
这两个语句的作用都是用COUNT代表int,但它们是不同的。#define是由预处理完成的,只能做简单的字符串替换;typedef则是在编译时完成的,后者更为灵活方便。
综上所述,typedef命令只是用新的类型名来代替已有的类型名,并没有为用户建立新的数据类型。使用typedef进行类型定义可以增加程序的可读性,并且为程序移植提供方便。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。