用typedef声明新类型名
标签: C语言
学习人数: 12.6k

C语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”。类型定义符 typedef 即可用来完成此功能。例如,有整型量 a,b,其说明如下:

int a, b;  

其中 int 是整型变量的类型说明符。int 的完整写法为 integer,为了增加程序的可读性,可把整型说明符用 typedef 定义为:

typedef int INTEGER  

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

INTEGER a, b;  

它等效于:

int a, b;  

用 typedef 定义数组、指针、结构等类型将带来很大的方便,不仅使程序书写简单而且使意义更为明确,因而增强了可读性。

例如:

typedef char NAME[20]; 表示 NAME 是字符数组类型,数组长度为 20。  

然后可用 NAME 说明变量,如:

NAME a1, a2, s1, s2;  

完全等效于:

char a1[20], a2[20], s1[20], s2[20]  

又如:

typedef struct stu {  
    char name[20];  
    int age;  
    char sex;  
} STU;  

定义 STU 表示 stu 的结构类型,然后可用 STU 来说明结构变量:

STU body1, body2;  
typedef 定义的一般形式为:  
typedef 原类型名 新类型名  

其中原类型名中含有定义部分,新类型名一般用大写表示,以便于区别。有时也可用宏定义来代替 typedef 的功能,但是宏定义是由预处理完成的,而 typedef 则是在编译时完成的,后者更为灵活方便。

 

登录查看完整内容


课后作业

掌握本节内容


登录后开始许愿

暂无评论,来抢沙发