新闻资讯
看你所看,想你所想

typedef声明类型

typedef声明类型

typedef声明类型,声明一个新的类型名来代替已有的类型

使用f举例

举例一

typedef int INTEGER;//指定用标识符INTEGER代表int类型
typedef float REAL;//指定用REAL代表float类型
这样,以下两行等价:
① int i,j; float a,b;
② INTEGER i,j; REAL a,b;

举例二

在一个程式中,整型变数是专门用来计数的,可以用COUNT来作为整型类型名:
typedef int COUNT;//指定用COUNT代表int型
COUNT i,j;//将变数i,j定义为COUNT类型,
即int类型在程式中将变数i,j定义为COUNT类型,可以使人更一目了然地知道它们是用于计数的。

举例三

也可以声明结构体类型:
typedef struct//注意在struct之前用了关键字typedef,表示是声明新名
{ int month; int day; int year; }DATE;//注意DATE是新类型名,而不是结构体变数名
所声明的新类型名DATE代表上面指定的一个结构体类型。这样就可以用DATE定义变数:
DATE birthday; DATE *p;//p为指向此结构体类型数据的指针
还可以进一步:
① typedef int NUM[100];//声明NUM为整型数组类型,包含100个元素NUM n;//定义n为包含100个整型元素的数组
② typedef char *STRING;//声明STRING为字元指针类型STRING p,s[10];//p为字元指针变数,s为指针数组(有10个元素)
③ typedef int (*POINTER)( )//声明POINTER为指向函式的指针类型,函式返回整型值POINTER p1,p2;// p1,p2为POINTER类型的指针变数

声明方法

① 先按定义变数的方法写出定义语句(如int i;)。
② 将变数名换成新类型名(如将i换成COUNT)。
③ 在最前面加typedef(如typedef int COUNT)。
④ 然后可以用新类型名去定义变数。
再以声明上述的数组类型为例来说明:
① 先按定义数组形式书写: int n[100];
② 将变数名n换成自己指定的类型名:
int NUM[100];
③ 在前面加上typedef,得到
typedef int NUM[100];
④ 用来定义变数: NUM n;(n是包含100个整型元素的数组)。
习惯上常把用typedef声明的类型名用大写字母表示,以便与系统提供的标準类型标识符相区别。

总结

(1) typedef可以声明各种类型名,但不能用来定义变数。用typedef可以声明数组类型、字元串类型,使用比较方便。
(2) 用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型。
(3) 当在不同源档案中用到同一类型数据(尤其是像数组、指针、结构体、共用体等类型数据)时,常用typedef声明一些数据类型,把它们单独放在一个头档案中,然后在需要用到它们的档案中用#include命令把它们包含进来,以提高编程效率。
(4) 使用typedef有利于程式的通用与移植。有时程式会依赖于硬体特性,用typedef便于移植。
(5) 使用typedef增加类型名时,原则上没有个数限制。

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com