1 / 59
文档名称:

第10章结构体与其它数据类型.ppt

格式:ppt   大小:207KB   页数:59页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第10章结构体与其它数据类型.ppt

上传人:zbfc1172 2018/6/5 文件大小:207 KB

下载得到文件列表

第10章结构体与其它数据类型.ppt

文档介绍

文档介绍:第10章结构体与其它数据类型
本章教学目的:
理解结构体和共用体的概念,掌握结构体数组和结构体指针的使用方法,了解用指针处理链表的基本操作,了解枚举类型的概念和用typedef定义类型的方法。
本章教学重点:
结构体和共用体的概念,结构体数组和结构体指针。
本章教学难点:
用指针处理链表。
本章作业:
、4,、4
结构体的概念
在数据库中为了表示一些相关的简单数据类型,如学生的挡案、职工工资表、图书资料等,可以定义数据库中表的结构,然后根据数据库中表的结构建立若干个“记录”,形成数据库中的表文件,其中每个记录是由多项数据构成的一个集合。
C语言为了表达此类问题,可使用结构体类型,并定义其变量、赋值,形成一个包含多项数据的数据单元。
例如,要用一个结构体来描述学生,每个学生,有学号、姓名、年龄、性别、成绩等数据。每项数据有不同的类型,类型为:学号(无符号整型)、姓名(字符型)、性别(字符型)、年龄(整型)、成绩(实型)等。要把这些和学生关联在一起,则需要声明以下结构体类型:
struct student
{unsigned num;
char name[10];
char sex;
int age;
float score;
};
其中struct 是结构体的关键字;student是结构体的标识符,即结构体名;num、name[10]、sex、age、score 等是结构体成员,组成成员表列。
结构体的类型声明方式为:
struct 结构体名
{
成员表列;
};
其中各成员应进行类型说明。
结构体类型声明时应注意以下几点:
(1) 结构体类型声明并不引起内存分配,结构体类型变量的定义才引起内存的分配。
(2) 在声明结构体类型时,允许先声明过的结构体类型作另一个结构体类型的成员,如右所示。
struct score
{float score_math;
float score_english;
float puter;
};
struct student
{unsigned num;
char name[10];
char sex;
int age;
struct score class;
};
结构体类型变量和数组
结构体类型变量
 

结构体变量定义有三种方法。
(1) 先声明结构体类型,
后定义变量。

这种方法的语法格式为:
struct 结构体名
{
成员表列;
};
struct 结构体名结构体变量表;
例如:
struct student
{ unsigned num;
char name[10];
char sex;
int age;
float score;
};
struct student student1,student2;
定义了student结构体类型的2个变量:student1,student2。
(2) 在声明结构体类型
的同时定义变量。
这种方法的语法格式为:
struct 结构体名
{
成员表列;
}结构体变量表;
例如:
struct student
{ unsigned num;
char name[10];
char sex;
int age;
float score;
}student1,student2,student3;
定义了student结构体类型的三个变量:student1,student2,student3。
(3) 直接定义变量。
这种方法的语法格式为:
struct
{
成员表列;
} 结构体变量表;
例如: struct
{ unsigned num;
char name[10];
char sex;
int age;
float score;
}student1,student2,student3;
直接定义了结构体类型的三个变量student1、student2和student3。但这种定义方式因无类型名,所以不能再定义更多的变量。
定义了一个结构体类型的变量后,系统就为其按结构分配相应的内存,其大小取决于结构体的具体成员,如前面所举的例子中,一个struct student的结构体类型变量应分配:
num(2字节)+name(10字节)+sex(1字节)
+age(2字节)+score(4字节)=19字节
无论是否给每个成员赋值,它都以占据19个字节而存在。

结构体变量初始化是在定义变量时,指定变量各个成员的初始值。
例如:
struct student
{ unsig

最近更新

沟通技巧培训 27页

汽车行业市场分析与竞争格局评估报告 28页

保险公司副经理竞聘演讲稿(九篇) 39页

保安班长总结(13篇) 51页

互动仪式链视域下的“慢直播”分析 2页

汽车涂装工艺中的喷涂结构与抗腐蚀性能 26页

汽车涂装中的质量管理与提升技术 27页

汽车涂装中的漆膜硬度测试 33页

二维动画制作教学中的创新性研究 2页

二次开发数学教材的创新实践探究——透过人教.. 2页

事业单位对下属企业的内控管理探究 2页

汽车新能源发展趋势与政策环境调研报告 26页

汽车喷漆中的漆膜附着力评估方法 28页

乡村振兴视域下法治乡村建设研究 2页

乡村振兴背景下学前教师编制标准研究 2页

个人秋季学期(优质9篇) 24页

旅游朋友圈文案 14页

业绩不好检讨书(大全9篇) 26页

氧化铝项目市场发展态势分析报告 22页

氧化铝项目可行性研究报告市场需求分析与新产.. 30页

氧化铝项目可行性研究报告及产业政策倾斜分析.. 35页

万圣节策划书活动主题(12篇) 51页

满是感动满是温暖的励志句子摘录(57句) 8页

六一儿童节的送朋友祝福语63句 9页

主流宏观经济学的危机与未来分析 2页

中国特色市内免税店发展路径探析——基于海南.. 28页

四十五年同学聚会致辞 4页

青年干部培训调研报告 6页

封顶仪式监理单位致辞 2页

抽水蓄能电站地下厂房及尾水系统土建工程施工.. 93页