- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章结构体
第14章
结构和其他数据形式
chenfei314@fzu.edu.cn
本章内容
关键字
Struct,union, typedef
结构体、结构成员
共用体
枚举类型
结构体的应用—链表
链表操作
结构体(Structure)概述
结构体
将不同类型的数据组合成一个整体
用来表示简单类型无法描述的复杂对象
可以用结构体来定义用户自己的数据结构
举例
描述学生信息
num name sex age score addr
12039 Bill Gates M 40 76.5 New York
结构体类型的声明
一般形式
struct [结构体名] {
成员表列
};
“成员表列”形式
类型 成员名;
类型 成员名;
... ...
结构体类型的声明举例
struct student {
unsigned num; /* 学号 */
char name[20]; /* 姓名 */
char sex; /* 性别 */
unsigned age; /* 年龄 */
float score; /* 分数 */
char addr[50]; /* 地址 */
};
结构体类型声明的说明(1)
声明了一种类型,而不是定义变量
结构体名可以没有,但是这样就无法再次使用该
结构体类型了
成员表列中是成员(Member)的定义
成员的定义形式与变量定义相同
成员类型可以是另一结构体类型,但不可直接或
间接递归嵌套
成员表列不可为空,至少要有一个成员
结构体类型声明的说明(2)
注意{}不表示复合语句,其后有分号
同一结构体的成员不能重名
不同结构体的成员可以重名
结构体成员和其他变量可以重名
结构体类型与其成员或其他变量可重名
struct test { int test; } test;
结构体类型名称是struct 结构体名,注意
struct关键字不能省略
结构体类型声明的说明(3)
即使两个结构体声明中的成员类型、名称、顺序
都完全一致,它们也是不同的类型
结构体类型也要“先声明,后使用”
如果结构体类型声明在函数内部,则该函数之外
无法引用此结构体类型
一般把结构体类型声明放到文件最前面
也可以把结构体类型声明放在头文件里
结构体变量的定义(1)
先声明结构体类型再定义变量
struct student {
unsigned num;
char name[20];
char sex;
unsigned age;
float score;
char addr[50];
};
struct student stu1, stu2;
结构体变量的定义(2)
在声明结构体类型的同时定义变量
struct student
文档评论(0)