理论教育 C语言程序设计应用教程:用typedef定义类型

C语言程序设计应用教程:用typedef定义类型

时间:2023-11-21 理论教育 版权反馈
【摘要】:当一个数据类型被不同的源文件用到时,尤其是数组、指针、结构体、共用体等类型,常用typedef重新定义这些数据类型,把它们单独放在一个头文件里,在需要用到这些数据类型的文件中用以#include开头的编译预处理命令把它们包含进来。使用typedef可增加程序的通用性和可移植性。如果在程序中将int用typedef定义为“typedef int INTEGER;”,移植后只要将程序中的typedef定义体改为“typedef long INTEGER;”,那么程序中的所有int型的变量就变成long型。用typedef定义一个自定义类型名的方法如下。

C语言程序设计应用教程:用typedef定义类型

C语言不仅提供了丰富的数据类型,而且允许用户自己定义类型的说明符,也就是允许用户为数据类型取别名,就像有的人有大名也有小名一样。

自定义类型说明符是给已经存在的数据类型重新命名一个新的名字,这是为了方便程序设计者编写代码和增加可读性。

自定义类型的一般格式为:

例如:

这样,以后就可以用INTEGER代替int作为整型变量的类型说明。例如:

说明:

(1)新类型名一般用大写字母表示,以便于区别。

(2)当一个数据类型被不同的源文件用到时,尤其是数组指针、结构体、共用体等类型,常用typedef重新定义这些数据类型,把它们单独放在一个头文件里,在需要用到这些数据类型的文件中用以#include开头的编译预处理命令把它们包含进来。

(3)使用typedef可增加程序的通用性和可移植性。如果一个程序与具体的机器密切相关,其可移植性就差。例如,不同机器上的C语言,其同一数据类型占用内存的字节数可能不同。有的机器int型数据占2个字节,有的机器int型数据占4个字节。要将一个C语言程序由一个以4个字节存放int型数据的机器上,移植到用2个字节存放int型数据的机器上,最简单有效的方法是将源程序中所有定义int型变量的语句中的int改为long。显然,这样操作起来很麻烦。

如果在程序中将int用typedef定义为“typedef int INTEGER;”,移植后只要将程序中的typedef定义体改为“typedef long INTEGER;”,那么程序中的所有int型的变量就变成long型。(www.daowen.com)

用typedef定义一个自定义类型名的方法如下。

(1)先按定义变量的方法写出定义体。例如,“int a;”。

(2)将变量名换成新类型名。例如,将上面的a换成INTEGER。

(3)在最前面加typedef。例如,“typedef int INTEGER;”。

下面以定义数组类型为例来加以说明。

(1)先按定义数组变量形式书写成“inta[8];”。

(2)将变量名a换成自己命名的类型名“int NUM[8] ;”。

(3)在前面加上typedef,得到“typedef int NUM [ 8 ] ; ”。

下面用这个自定义类型定义变量。例如:

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

我要反馈