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