购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.4 用typedef重新定义数据类型

在C语言程序中除了可以采用上面所介绍的数据类型之外,用户还可以根据自己的需要对数据类型重新定义。重新定义时需用到关键字typedef,定义方法如下:

typedef 已有的数据类型 新的数据类型名;

其中“已有的数据类型”是指上面所介绍的C语言中所有的数据类型,包括结构、指针和数组等,“新的数据类型名”可按用户自己的习惯或根据任务需要决定。关键字typedef的作用只是将C语言中已有的数据类型做了置换,因此可用置换后的新数据类型名来进行变量的定义。例如:

在这个例子中,先用关键字typedef将word定义为新的整型数据类型,定义的过程实际上是用word置换了int,因此下面就可以直接用word对变量i,j进行定义,而此时word等效于int,所以i,j被定义成整型变量。例如:

用typedef还可以定义结构类型:

这里DATE为一个新的数据类型(结构类型)名,可以直接用它来定义变量:

关于结构类型数据在本章后面还要详细讨论。一般而言,用typedef定义的新数据类型用大写字母表示,以便与C语言中原有的数据类型相区别。另外还要注意,用typedef可以定义各种新的数据类型名,但不能直接用来定义变量。typedef只是对已有的数据类型做了一个名字上的置换,并没有创造出一个新的数据类型,例如前面例子中的word,它只是int类型的一个新名字而已。

采用typedef来重新定义数据类型有利于程序的移植,同时还可以简化较长的数据类型定义(如结构数据类型等)。在采用多模块程序设计时,如果不同的模块程序源文件中用到同一类型的数据时(尤其是像数组、指针、结构、联合等复杂数据类型),经常用typedef将这些数据重新定义并放到一个单独的文件中,需要时再用预处理命令#include将它们包含进来。 R0LCXM+0a9Nowjh1Ew7drUevHomu2yfBTHO+7+DvxT1ObS/ZC8NRstwhEdOIX2xu

点击中间区域
呼出菜单
上一章
目录
下一章
×