第十章 结构体、联合体与枚举
- 格式:ppt
- 大小:281.50 KB
- 文档页数:31
C语⾔结构体,枚举,联合体详解⽬录1.什么是结构体、枚举、联合体2.定义结构体2.1 包含结构体成员变量、variable2.2 tag、结构体成员变量2.3 ⽤结构体声名变量2.4 ⽤typedef 创建新类型2.5 两个结构体相互包含2.6 结构体变量初始化2.7 结构体指针3.枚举3.1 定义⽅式3.2 为什么⽤枚举3.3 枚举变量的定义3.4 实例3.5 枚举实际⽤途4.联合体4.1 与结构体区别4.2 定义总结1.什么是结构体、枚举、联合体结构体(struct)是由⼀系列具有相同类型或不同类型的数据项构成的数据集合,这些数据项称为结构体的成员。
如下⾯的student结构体包含三个成员,分别是name、num、age。
枚举(enum)是C语⾔的⼀种特殊类型。
当我们在编程中遇到定义⼀些固定长度或范围的数值时,可以考虑使⽤枚举类型。
使⽤枚举可以让我们的程序可读性更强、看起来更加直观。
举个例⼦,如果我们在编程中需要使⽤数字06分别表⽰星期⽇星期六,程序的可读性就不⾼,我们需要翻⼿册或者看程序注释才能知道每个数字具体代表什么意思。
如果我们使⽤枚举呢,基本上不需要看注释或⼿册就可知晓其⼤意。
联合体是⼀种结构。
它的所有成员相对于基地址的偏移量都是0。
此结构空间要⼤到⾜够容纳最宽的成员。
其对其⽅式适合其中所有成员。
123456// 创建结构体struct student{char *name; // 学⽣名字int num; // 学⽣学号intage; // 学⽣年龄};2.定义结构体12struct tag{ 成员变量...}variable;通常,tag 、结构体成员变量、variable 这3个部分⾄少要出现2个2.1 包含结构体成员变量、variable1234struct {char name[100];int age;}s1;//s1相当于对这个结构体声明了⼀个变量,可以在程序中直接调⽤s1相当于声明的全局变量。
结构体、共用体、枚举的综合举例下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!结构体、共用体、枚举的综合举例在C语言中,结构体(struct)、共用体(union)、枚举(enum)是组织和管理数据的重要工具。
C语⾔中结构、联合、枚举的说明复杂的数据类型⼀般的步骤:1、声明模板2、定义变量,分配内存空间3、初始化++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++标记、标识符、标签++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++结构:设计程序很重要的⼀步是提⾼表⽰数据的能⼒,选择表⽰数据的⽅法。
C提供了结构变量(structure variable)提⾼你表⽰数据的能⼒。
14.1 建⽴结构声明结构声明(structure variable)描述了⼀个结构的组织布局。
声明类似如下:struct book{char title[MAXTITL];char author[MAXAUTL];float value;};该声明并未创建实际的数据对象,只描述了该对象由什么组成。
(结构声明有时候称为模板)关键字struct,表明跟在其后的是⼀个结构,后⾯是⼀个可选的标记。
后⾯的程序可以根据标记引⽤该结构。
如果打算重复使⽤该模板,就要使⽤带标记的形式。
⽤花括号括起来的是结构成员列表。
花括号后⾯的分号是必须的,表明结构布局定义结束。
14.2 定义结构变量结构有两层含义。
⼀层含义是“结构布局”,结构布局告诉编译器如何表⽰数据,但是它并未让编译器为数据分配空间。
下⼀步是创建⼀个结构变量,即是结构的另⼀层含义。
例如 struct book library;编译器执⾏这⾏代码便创建了结构变量library。
编译器使⽤book模板为该变量分配空间。
解释:⼀个内含MAXTITL个元素的char数组,⼀个内含MAXAUTL个元素的char数组和⼀个float类型的变量;这些存储空间都与⼀个名称library结合在⼀起。
struct book的作⽤相当于声明了⼀个int或float。