当前位置: 首页 > 编程语言 > C语言 > 正文

C语言基础教程(四)指针、结构、联合和枚举(18)

时间:2007-05-04 王大刚
类型说明
类型说明的格式为:
typedef 类型 定义名;
类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。这里类型是Turbo C许可的任何一种数据类型。定义名表示这个类型的新名字。
例如: 用下面语句定义整型数的新名字:
typedef int SIGNED_INT;
使用说明后,SIGNED_INT就成为int的同义词了,此时可以用SIGNED_INT定义整型变量。
例如:SIGNED_INT i, j;(与int i, j等效)。
但long SIGNED_INT i, j;是非法的。
typedef同样可用来说明结构、联合以及枚举。
说明一个结构的格式为:
typedef struct{
数据类型 成员名;
数据类型 成员名;
...
} 结构名;
此时可直接用结构名定义结构变量了。例如:
typedef struct{
char name[8];
int class;
char subclass[6];
float math, phys, chem, engl, biol;
} student;
student Liuqi;
则Liuqi被定义为结构数组和结构指针。
在第二节讲过的文件操作中,用到的FILE就是一个已被说明的结构,其说明如下:
typedef struct
{
short level;
unsigned flags;
char fd;
unsigned char hold;
short bsize;
unsigned char *buffer;
unsigned char *curp;
unsigned istemp;
short token;
} FILE
这个结构说明已包含在stdio.h中,用户只要直接用FILE定义文件指针变量就可以。事实上,引入类型说明的目的并非为了方便, 而是为了便于程序的移植。