C语言程序设计与实践 第3版 课件 第10章 块数据组织:结构与联合.pptx

C语言程序设计与实践 第3版 课件 第10章 块数据组织:结构与联合.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计与实践第3版课件

第10章块数据组织:结构与联合;例structaccommod

{

charname[20];

charsex;

intage;

longnumber;

charjob[30];

};;?结构体类型变量的定义

★先定义结构体类型,再定义结构体变量

一般形式:

;★定义结构体类型的同时定义结构体变量

一般形式:

;★直接定义结构体变量

一般形式:

;?结构体类型变量的引用

引用形式为:

结构体类型变量名.成员名

注意:结构体变量不能整体引用,只能引用变量成员

;★说明

◆结构体类型与结构体变量概念不同

?类型:不分配内存;变量:分配内存

?类型:不能赋值、存取、运算;变量:可以

◆结构体可嵌套

◆结构体成员名与程序中变量名可相同,不会混淆

◆结构体类型及变量的作用域与生存期

;?结构体类型变量的初始化

★形式一:;★形式二:;★形式三:;§10.2结构体数组的定义和引用

★结构体数组的定义

三种形式:

;★结构体数组初始化;例10-1设计一个程序来统计学生姓名、ID、成绩并且通过ID查询学生姓名与该学生成绩。;例10-1设计一个程序来统计学生姓名、ID、成绩并且通过ID查询学生姓名与该学生成绩。;例10-1设计一个程序来统计学生姓名、ID、成绩并且通过ID查询学生姓名与该学生成绩。;§10.3结构体指针的定义和引用;?指向结构体类型数组的指针的使用;★数组元素引用的方法:

◆地址法

数组元素成员的引用形式为(student+i)-name、(student+i)-num和(p+i)-num等等。

student+i和p+i与student[i]意义相同。

◆指针法

若p指向数组的某一个元素,则p++就指向其后续元素。

◆指针的数组表示法

若P=student,则指针p指向数组student,p[i]表示数组的第i个元素,与student[i]等同。

;例指向结构体数组的指针变量的使用

structdate /*定义结构体类型*/

{

intyear,month,day;

};

structstu /*定义结构体类型*/

{

charname[20];

charnum[11];

structdatebirthday;

};;10.4链表;1链表概述—链表的特点;1链表概述—链表结点的特点;3.1链表概述;;?链表的建立

例10-6建立一个含有若干个单位电话号码的链表。

;★元素加到链表尾部的两种情况:;?输出链表元素

例10-7输出例10-6建立的链表的元素

voidprint_1(structunit_tele*head)

{

structunit_tele*p;

for(p=head;p!=null;p=p-next)

printf(“%s,%s\n”,p-unitname,p-telephone);

};?插入链表元素

例10-9把新输入的单位及电话号码插入到例10-6建立的链表中

structunit_tele*insert_list(structunit_tele*head,charuname[],chartele[])

{ structunit_tele*q,*p;

for(q=head;q!=NULL;q=q-next)

if(strcmp(q-unitname,uname)==0)break;

if(q==NULL)

{p=(structunit_tele*)malloc(sizeof(structunit_tele));

strcpy(p-unitname,uname);

strcpy(p-telephone,tele);

p-next=head;

head=p; }

returnhead; };?查询链表元素

例10-10查询例10-6所建链表中某指定单位的结点。;§10.5联合

?联合:即构造数据类型,也叫共用体。

★联合类型的一般格式:;★联合成员的使用

◆联合变量引用方式:;★例10-11按以上定义的structstudent,输入5个学生成绩,然

后输出它们。;?数组、结构和联合三种数据类型的比较;;10.7用type

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档