第13章 结构体与共用体
本章节内容来自全国计算机等级考试用书《计算机等级考试二级C语言考点分析、题解与模拟》。本章主要考查类型定义符typedef、结构体(即“结构”)与共用体(即“联合”),包括类型定义符typedef,结构体和共用体类型数据的定义方法和引用方法,结构指针变量,结构数组,用指针和结构体构成链表,单向链表的建立、输出、删除与插入等知识点。通过对历年试卷内容的分析,本章考核内容约占5%,属于一般考查内容。由《计算机等级考试二级C语言考点分析、题解与模拟》命题走势图13-1可知,本章部分所涉及考题分值有减少趋势。

13.1 类型定义符
13.1.1 考点1:typedef
C语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说,允许由用户为已存在的数据类型名定义一个“别名”。类型定义符typedef即可用来完成此功能。说明新类型名的语句一般形式为:
typedef 类型名 标识符;
这里的“类型名”必须是在此语句之前已有定义的类型标识符,可以是任何基本类型、结构或联合类型符号,也可以是typedef定义的类型名。“标识符”是一个用户定义标识符,用作新的类型名。例如:
typedef int INTEGER;
该语句把一个用户命名的标识符INTEGER说明成一个int类型的类型名。在此说明之后,就可以用INTEGER来代替int做整型变量的类型说明了。
例如,INTEGER a,b;它等效于int a,b;
【警钟长鸣】对于类型定义符typedef,考生需要注意以下几点。本章节内容来自希赛全国计算机等级考试用书《计算机等级考试二级C语言考点分析、题解与模拟》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032480)
(1)typedef语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原有的类型名依然有效。
(2)新类型名一般用大写表示,以便区别。
(3)也可用宏定义来代替typedef的功能,但是宏定义是由预处理完成的,而typedef则是在编译时完成的,后者更为灵活方便。
[1] [2]