- 1
- 0
- 约2.07万字
- 约 117页
- 2018-01-21 发布于广东
- 举报
第九章 结构体与共用体 主要内容 本章要点 结构体类型定义、结构体变量定义及使用 结构体数组 结构体指针 结构体与函数 链表 共用体 本章学习目标 掌握结构体类型定义、结构体变量定义、成员引用、初始化方法 掌握用指针操作结构体和结构体数组的方法 理解结构体在函数参数传递中的应用 理解存储空间的动态分配与回收 理解链表的概念、掌握链表的基本操作 理解共用体的含义、掌握共用体的使用 9.1 应用实例 设计超市购物系统,需要把超市内的各种商品的信息存储起来以备查询,每种商品都有多种信息——商品编号、商品名称、商品单价等。如果把每个商品的多种信息分别存放在一些变量中,那变量数目会很多且不好管理。这时我们就需要把这些不同类型的信息组合在一个有机的整体中,以便于操作。结构体类型数据就可以满足这种需要。 9.1.1 结构体类型的定义 C语言没有提供结构体类型,而是提供了结构体类型的定义方法,我们在使用时需要自己定义。 struct 结构体名 { 结构体成员列表 }; 在定义结构体成员列表时,成员的定义形式为: 类型名 成员名; 9.1.1 结构体类型的定义(续) 我们定义一个描述商品信息的结构体类型。 struct goods { int number; char name[10]; float price; }; struct goods就是结构体类型名 该结构体类型包含三个成员 9.1.2 结构体变量的定义 (1)使用结构体类型名定义变量 struct goods { int number; char name[10]; float price; }; struct goods g1, g2 ; 结构体变量的定义(续) 各成员按定义顺序依次存放, 成员的存储空间是相邻的。 成员number是整型,占4个字节; 成员name是字符型数组,占10个字节 成员price是实型,占4个字节; 变量g1和g2各占18个字节存储空间。 结构体变量的定义(续) (2)定义结构体类型的同时定义变量 struct goods { int number; char name[10]; float price; } g1, g2 ; 结构体变量g1和g2的定义直接跟在结构体类型struct goods的定义之后。 结构体变量的定义(续) (3)直接定义结构体类型变量 struct { int number; char name[10]; float price; } g1, g2; 在这种定义方式下,没有给该结构体类型命名,因此无法在其他位置定义该结构体类型的变量,也无法将它们用作函数参数。 结构体变量的定义(续) (4)使用typedef typedef可为一个已存在的数据类型定义一个类型名。 typedef int integer; 为int类型指定一个新的类型名integer。 typedef float real; 为float类型指定一个新的类型名real。 integer a, b; /*a,b为int类型变量*/ real c, d; /*c,d为float类型变量*/ 注意:typedef并不引入一个新的数据类型,只是给已定义的数据类型指定一个同义词。 结构体变量的定义(续) typedef struct goods { int number; char name[10]; float price; } kind; 为结构体类型struct goods起了一个新的名字kind。 结构体变量的定义(续) 注意:这里的kind不是结构体变量,而是struct goods的别名。既可以使用struct goods去定义结构体变量,也可以使用kind去定义结构体变量。比如: struct goods g1; kind g2; 9.1.3 结构体变量的使用 在定义了结构体变量后,访问结构体各成员的语法格式为: 结构体变量名. 成员名 结构体变量的成员可以像普通变量一样进行各种运算和操作。例如
您可能关注的文档
最近下载
- 《佳为软件资讯部培训教材》ppt模板课件.ppt VIP
- 《儿童文学》高职学前教育专业全套教学课件.pptx
- 班级管理第2版(下篇,共上中下3篇).pptx VIP
- 语言接触和语言演变课件.pptx VIP
- 最新版2026公文写作与处理模拟考试题库(含答案).docx
- C-J∕T 407-2012 城市轨道交通基于通信的列车自动控制系统技术要求(高清可复制).pdf VIP
- 2026年度山东劳动职业技术学院单招《数学》经典例题及答案详解(名师系列).docx VIP
- 周期天王周金涛人生就是一场康波.docx VIP
- 1177我的寒假生活PPT模板.pptx VIP
- GB50944-2013 防静电工程施工与质量验收规范.docx VIP
原创力文档

文档评论(0)