资源描述:
《结构体和链表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、秋学期《数据结构》结构体和链表内容提要结构体的定义结构体变量的定义结构体变量的成员结构体变量的赋值、初始化结构体数组的定义、初始化、应用指向结构体类型数据的指针用指针处理链表结构体简介原子类型:处理器中已经定义并实现的整型、单精度型、双精度型、字符型等例子:在学生登记表中,姓名应为字符型;学号应为整型;年龄应为整型;性别应为字符型;成绩可为整型或实型。结构体类型:能够将各种不同类型的数据有机地组合在一起结构体的定义“结构体”是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。定义一个结构体的一般形式为:struct结构
2、体名{成员表列};结构体的定义每个成员都是该结构的一个组成部分,对每个成员也必须作类型说明,其形式为:类型说明符成员名;例如结构体变量的定义定义结构体变量的方法:(1)先声明结构体类型,再定义结构体变量。(2)在声明类型的同时定义变量(3)直接定义结构体变量结构体变量的定义定义结构体变量的方法:(1)先声明结构体类型,再定义结构体变量。structstuboy1,boy2;结构体变量的定义定义结构体变量的方法:(1)先声明结构体类型,再定义结构体变量。struct结构体名{成员表列};struct结构体名变量名表列;结构体变量的定义定义结构体变量的方法:(1)先
3、声明结构体类型,再定义结构体变量。结构体变量的定义定义结构体变量的方法:(2)在声明类型的同时定义变量结构体变量的定义定义结构体变量的方法:(2)在声明类型的同时定义变量struct结构体名{成员表列}变量名表列;结构体变量的定义定义结构体变量的方法:(3)直接定义结构体变量结构体变量的定义定义结构体变量的方法:(3)直接定义结构体变量struct{成员表列}变量名表列;结构体变量的定义定义结构体变量的方法:(1)先声明结构体类型,再定义结构体变量。(2)在声明类型的同时定义变量(3)直接定义结构体变量几点说明类型与变量不是一个概念结构体的成员名可以与程序中的变
4、量名相同,二者不代表同一对象。结构体的成员也可以是一个结构体变量几点说明结构体变量的成员在程序中使用结构体变量时,往往不把它作为一个整体来使用。结构体变量的成员的引用方式结构变量名.成员名例如:boy1.num即第一个人的学号boy2.sex即第二个人的性别结构体变量的成员结构体变量的成员可以在程序中单独使用,与普通变量完全相同。例如:boy1.num=1001;boy2.sex=‘M’;sum=boy1.score+boy2.score;boy2.sex=boy1.sex;结构体变量的成员可以引用结构体变量成员的地址,也可以引用结构体变量的地址。例如:&boy
5、1.num,&boy2.sex,&boy2.score&boy1,&boy2结构体变量的成员不能将一个结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员分别进行输入和输出。例如:printf(“%d,%s,%c,%f”,boy1);×printf(“%d,%s,%c,%f”,boy1.num,boy1.name,boy1.sex,boy1.score);结构体变量的成员如果成员本身又是一个结构体变量,则必须逐级找到最低级的成员才能使用只能对最低级的成员进行操作例如:boy1.birthday×boy1.birthday.month第一个人出生的月
6、份结构体变量的赋值结构体变量的赋值就是给各成员赋值。可用输入语句或赋值语句来完成。输入语句、输出语句:只能对结构体变量中的各个成员分别进行输入和输出赋值语句:可以对结构体变量中的各个成员分别进行赋值,也可以将一个结构体变量作为一个整体进行赋值。结构体变量的赋值例子结构体变量的初始化初始化:在定义时对结构体变量进行赋值结构体数组的定义结构体数组的每个元素都是结构体类型的经常用结构数组来表示具有相同数据结构的一个群体。如一个班的学生档案,一个车间职工的工资表等。结构体数组的定义定义方式和结构体变量相似,只需说明它为数组类型即可。例如结构体数组的初始化结构体数组的应用
7、例子:计算学生的平均成绩和不及格的人数结构体数组的应用例子:建立同学通讯录结构体数组的应用结构体数组的应用例子:对候选人得票的统计程序。假设有3个候选人,10个选民,每次输入一个候选人的名字,最后输出每人的得票结果。structperson{charname[20];intcount;}leader[3]={“Li”,0,“Zhang”,0,“Fun”,0};结构体数组的应用结构体数组的应用指向结构体类型数据的指针指向结构体变量的指针一个指针变量当用来指向一个结构体变量时,称之为结构体指针变量。结构体指针变量中的值是所指向的结构体变量的首地址,通过结构体指针即可
8、访问该结构体变量。一般形