- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模块九 9.1 结构体 1、掌握结构体类型的定义 2、掌握结构体类型变量的定义、初始化和 应用 9.1.1 结构体类型的定义 结构体是由不同数据类型的数据组成的集合体,它包含若干个成员。在说明和使用结构体之前必须先定义它,也就是构造它。结构体定义实际上是说明结构体是由哪些成员所组成,以及成员的数据类型。 9.1.1 结构体类型的定义 案例9-1: 使用结构体类型描述学生的基本信息,需要包含学号、姓名、性别、年龄和入学成绩。 ◇知识连接 定义一个结构的一般形式为: struct 结构体名 { 结构体成员表; }; 9.1.2 结构体变量的定义 定义结构体类型相当于做了一个模型,但是其中并没有具体数据,系统不对它分配实际的内存单元。为了能在程序中使用结构体类型的数据,就要定义结构体类型的变量,并且在其中存放具体的数据。 9.1.2 结构体变量的定义 案例9-2:使用结构体student定义结构体变量jack和rose。 ◇知识连接 1、结构体变量同其他变量一样,也必须先定义,然后才能使用。首先定义结构类型,然后定义结构变量。 2、结构变量定义的一般形式如下: struct 结构体名 { 结构体成员表; }; struct 结构体名 结构体变量名; 9.1.3 结构体变量的初始化 对结构体变量的初始化,就是在定义该结构体变量的同时,对其成员变量赋初值。 结构体变量初始化的一般形式如下: struct 结构体名 结构体变量名={初始数据}; 9.1.3 结构体变量的初始化 案例9-3:对结构体student类型的结构体变量jack和rose初始化。 #include stdio.h void main() { struct student { int num; char *name; char sex; float score; }; struct student jack ={2010, jack,M,765.4}; struct student rose ={2012, rose,F,876.5}; printf(The message of student jack:\n); printf(Number=%d\nName=%s\n, jack.num, jack.name); printf(Sex=%c\nScore=%f\n, jack.sex, jack.score); printf(The message of student rose:\n); printf(Number=%d\nName=%s\n, rose.num, rose.name); printf(Sex=%c\nScore=%f\n, rose.sex, rose.score); } ◇知识连接 1、初始化数据的个数要与成员的个数相同。 2、初始化数据的类型要与相应的成员变量的类型一致。 9.1.4 结构体变量成员的引用 结构体变量被定义之后,就可以在程序中使用它。在对结构体进行引用时,不能对一个结构体变量作为一个整体直接进行操作,一般只能对结构体变量中的各个成员进行直接操作。 结构体变量成员的引用的两种方式: 用结构体成员运算符方式。 结构变量名.成员名 用指针方式。 9.1.4 结构体变量成员的引用 案例9-4:引用结构体student类型的结构体变量jack和jack2的成员。 struct student jack; struct student jack2; jack.num=2010; jack.name=jack; printf(input sex and score:\n); scanf(%c %f, jack.sex, jack.score); 9.2指向结构体类型数据的指针 学习目标 1、理解结构体指针变量的定义。 2、掌握结构体指针变量的运用。 3、了解结构体数组变量的定义和初始化。 9.2.1 指向结构体变量的指针 结构体指针变量即指向结构体变量的指针,它是一个指针变量。结构体指针变量中的值是所指向的结构体变量的首地址。通过结构体指针即可访问该结构体变量,这与数组指针和函数指针的情况是相同的。 9.2.1 指向结构体变量的指针 定义结构体指针变量的一般形式为: struct 结构体名 *结构体指针变量名 struct student boy={2010,jack,M,607.3};
文档评论(0)