胖哥试车cx4:13.9 使用typedef-IT频道-和讯网

来源:百度文库 编辑:九乡新闻网 时间:2024/05/05 04:13:27
C语言提供了一种称为typedef的机制,允许由用户为数据类型取"别名"。其语法格式如下:

  typedef 原数据类型说明 新的类型说明符;

  例如,关键字int表示整数类型,可通过下面的语句为int数据类型设置一个别名:

  typedef int INTEGER;

  以后就可用INTEGER来代替int作整型变量的类型说明了。

  例如:

  INTEGER i,j;

  与下面的语句等价:

  int i,j;

  用typedef定义结构、联合等类型,不仅可减少程序代码量,而且使意义更为明确,因而增强了可读性。例如:

  typedef struct minneedchar *name;char sex;unsigned shortage;floatamout;MINNEED;

  在上面定义结构之前使用typedef关键字,在结构结束的大括号后面跟上一个大写的MINNEED标识符,即将结构的定义设置一个新的别名。以后可使用下面的形式定义结构变量:

  MINNEED needs[N];

  与下面的语句等价:

  struct minneed needs[N];

  还可以使用以下方式,为数组设置一个别名:

  typedef char ARR[10];

  表示ARR是字符数组类型,数组长度为10。然后可用ARR说明变量,如以下代码:

  ARR s1;

  与下面的语句等价:

  char s1[10];

  同样,使用以下语句:

  typedef char * STRING;

  表示用STRING代替char *,然后可使用STRING定义字符指针,例如: STRING ps1,ps2;

  与下面的语句等价:

  char *ps1,*ps2;

  在使用typedef为数据类型取别名时,一般新类型名用大写表示,以便于区别。

  需要注意的是,使用typedef语句并不会创建一个新的类型,仅仅是对现有类型设置一个新的名字。

  使用typedef语句为数据类型设置新的名称,可方便程序的移植。在头文件中,使用typedef定义与机器有关的数据类型,当移植程序时,只需改变typedef的定义,就可使程序适应新的计算机特性。如在不同字长的计算机中,int类型所占字节不同,就可通过typedef来进行定义。打开C系统的头文件,可看到许多的typedef语句。