第十二章结构体与共用体
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.对结构体成员的运算和普通变量一样进行各种运算。
4.可以引用结构体变量的地址,也可引用结构体变量成员的地址。
五、结构体变量的初始化
和其它变量一样,对结构体变量可以在定义时指定初始值。
例如
{struct student
{long int num;
char name[20];
C 语言程序设计教案
内容
int a[5];
例如:一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,
各项的数据类型并不相同(如下图)
num name sex age score addr
通过举例说
10010 Li Fan m 18 88 chengde
明定义结构
如果将 num、name、sex、age、score、addr 分别定义为互相独立 体的必要性。
一、如何使用指针变量指向结构体类型数据 一个结构体变量的指针就是该变量所占据的内存段的起始地址。可
内容
Struct student {int num; ┄ char addr[30]; };
Struct student student1,student2;
C 语言程序设计教案
说明
比较➢
2.在声明类型的同时定义变量 Struct student {int num; ┄ char addr[30]; } student1,student2;
和基本类型 变量进行比 较分析,进一 步说明必须 定义结构体 类型。
说明➢
Struct student 是一个类型名, Struct 是一个关键字,标志着这 是一个结构体类型。 二、声明一个结构体的形式
Struct 结构体名 {成员表列}; 其中,成员表列的格式为: 类型名 成员名; 三、定义结构体类型变量的方法 1.先声明结构体类型在定义变量名 已定义了一个结构体类型 Struct student,可以用它定义变量。
{ int month;
先声明一个
int day; int year; }
Struct date 类型,然后在 Struct
Struct student { int num;
┄ struct date birthday;
student 类型 时,将成员 Birthday 定 义为 Struct date 类型。
例 对候选人得票的统计程序。设有三个候选人,每次输入一个得 票的候选人的名字,要求最后输出各人得票结果。
程序如下: #include <stdio.h> struct person {char name[20];
int count; }leader[3]={“li”,0,“zhang”,0,“fun”,0}; main() {int i,j;char leader_name[20]; for(i=1;i<=10;i++) {scanf(“%s”, leader_name);
理解和掌握结构体的概念和方法 掌握结构体的基本操作 熟练掌握结构体的引用方法 了解结构体数组的使用
主要 内容➢ 重点➢ 难点➢
举例➢
结构体与共用体
内容 1.指向结构体类型数据的指针 2.用指针处理链表 3.共用体
1.指向结构体类型数据的指针 2.用指针处理链表
C 语言程序设计教案
第二讲
说明
指向结构体类型数据的指针;用指针处理链表
for(j=0;j<3;j++) if(strcmp(leader_name,leader[j].name)==0) leader[j].count++; }
for(i=0;i<3;i++) printf(“%5s:%d\n”, leader[i].name ,leader[i].count);}
小结:
┄ char addr[30]; }; Struct student student[10];
2.结构体数组的初始化 其初始化和数组的初始化相似。 3.结构体数组的应用举例
结构体数组 和数值型数 组不同之处 在于每个数 组元素都是 一个结构体 类型的数据。
定义了一个 student,其 元素为 Struct student 类型 数据,数组中 有 10 个元素。
的简单变量,难以反映它们之间的内在联系,如何解决此类问题呢?
一、结构体类型引入 上例应该合数据组织成一个组合项,在一个组合项中包含若干个不
同类型源自文库据项,C 语言没有提供这样的数据结构,因此用户必须在程序 中建立所需结构体类型。
Struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };
主要 内容➢
重点➢
难点➢ 问题 提出
结构体与共用体
内容 1.结构体的概念及其基本操作 2.结构体的引用方法 3.结构体数组的使用
1.结构体的概念及基本操作 2.结构体的引用方法
C 语言程序设计教案
第一讲
说明
结构体的概念及基本操作
前面已经介绍了基本数据类型──整型、浮点型、字符型,也介绍了 例子:
一种构造类型──数组,数组中各元素是属于同一种类型的。
说明
Char sex; Char addr[20]; }a={89031,“li lin”,‘M’,“123 beijing Road”};
引言➢ 举例➢
六、结构体数组 一个结构体变量中可以存放一组数据。如果有 10 个学生的数据需
要参与运算,显然应该用数组,这就是结构体数组。
1.结构体数组的定义 Struct student {int num;
char addr[30]; } student1,student2;
(4)成员名可以和程序中的变量名相同,二者不代表用一个对象。
四、结构体变量的引用
结构体变量名.成员名 1.对结构体变量中的成员分别进行输入输出
如: Student.num
2.成员本身是结构体类型,只能对最低级的成员进行赋值等运算。
说明➢ 举例➢
举例➢
3.直接定义结构类型变量
Struct
{int num;
┄
char addr[30]; } student1,student2;
关于结构体类型的说明:
(1)类型与变量不同; (2)成员可单独使用,作用和地位相当于普通变量; (3)成员可以是一个结构体变量;
Struct date
只能对变量 赋值、存取或 运算,类型不 行。