结构体与链表优秀课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

{
char name[20];
/*姓名*/
char address[40]; /*地址*/
float salary;
/*工资*/
float cost;
/*扣款*/
struct date hiredate; /*聘任日期*/
};
结构体类型可以嵌套定义即一个结 构体类型中的某些成员又是其他结 构体类型
结构体类型变量的定义
结构体嵌套例时逐s级tru引ct用student
stu1.num=10;
例 struct student { int num; { int num; 例 strcuhcatr sntaumde[n2t0];

}s{strtuu例1c{,itccifcccisnnslnhhho{hhtitttcstnusaaaraaanahtuatt2rrrtrrruguaicgu;issansnndnermtneccedteu;tean;taxod;sxmmnmdam;rrt;dtaemuo[;eea3y;dn[e[t0;2e2te[]h0}2n0;s];0]t;t;]u;{}1s,cifctsnluhhott1uaaaias,ccifc2nrrtsnlgthhho;ttsasuteuaaaanced1a;2rrrtxospud=g;sas;trr{mrneuei1c[dn;a31;;0xodtm0.1;rfrb](e[,e;“i“3;r[%W0t2h]0da;d],n;a%yLs.im,n%”ossc,nt‘st,uMt%uth1u1’d.,=1s.1a,1.ci…9%sgf2bo,(c8e;fs…iro,r7+t%etur..+h+5e.s1;d==,\=“nsa8D=ty”5usa,.st52Lut;.(ius2a1c))n)o”;r}e; ;(())
……………. }变量名表列;
用无名结构体直接定义 变量只能一次
结构体类型声明的说明
• 说明
结构体类型与结构体变量概念不同
• 类型:不分配内存;
变量:分配内存
• 类型:不能赋值、存取、运算; 变量:可以
结构体可嵌套
结构体成员名与程序中变量名可相同,不会混淆
例 {str结例uinc构tstmt体rduo类acnttet型hs;及tu变de量nt的作用域与生存期
month day year
struc}bt irdtahtdeayb;irthday;
}stu; }stu;
结构体变量的使用
• 由结构体变量名引用其成员
成员(分量)运算符
结构体变量不能整体引用,只能引用变量成员
优先级: 1 结合性:从左向右
引用方式: 结构体变量名.成员名
可以将一个结构体变量赋值给另一个结构体变量
……………. }变量名表列;
• 直接定义结构体变量
一般形式:
例 struct { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2;
struct {
类型标识符 成员名; 类型标识符 成员名;
}; /*注:‘;’不能省*/
结构体类型定义描述结构 的组织形式,不分配内存
如考虑10门课程成绩, 加上总成绩与平均成绩, 可作如下定义:
struct student
{int no;
/*学号*/
char name[10]; /*姓名*/
char sex;
/*性别*/
int age;
/*年龄*/
float score[10]; /*10门课程成绩*/
• 定义结构体类型的同时定义结构体变量
一般形式:
例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2;
struct 结构体名 {
类型标识符 成员名; 类型标识符 成员名;
• 先定义结构体类型,再定义结构体变量
一般形式:
struct 结构体名
例 struct student
Leabharlann Baidu
{ 类型标识符 成员名;
{ int num;
类型标识符 成员名;
char nam例e[2#0d];efine STUDE…N…T …s…tr…u.ct student
char sex; STUDENT };
结构体与链表
结构体概述
• 结构体
– 结构体是一种构造数据类型
– 用途:把不同类型的数据组合成一个整体---自定义数据
类型 – 结构体类型定义
合法标识符 可省:无名结构体
struct是关键字, 不能省略
struct [结构体名] {
类型标识符 成员名1; 类型标识符 成员名2;
……………. };
成员类型可以是 基本型或构造型
int age;
{ int nusmtr;uct 结构体名 变量名表列;
float score;
char name[20];
char addr[30]; char sex;
};
int age;
struct student stu1,stu2fl;oat score;
char addr[30];
};
STUDENT stu1,stu2;
i{ntidnat yn; um;
int cyehaarr;name[20];
};
struct date
struct {stuidnet nmtonth; { int numi;nt day;
char naminet [y2e0a];r;
num num
name namme onth
birthday dbairythdyaeyar
float tcj, acj; /*总成绩, 平均成绩*/
};
• 定义结构体类型,描述下列数据
–(2)个人数据: 包含姓名、性别、年龄、身高、体重、 住址:
struct person
{char name[20]; /*姓名*/
char sex;
/*性别*/
int age;
/*年龄*/
float height;
• 定义结构体类型,描述下列数据
–(1) 学生情况: 包含学生的学号、 姓名、 性别、 年 龄、C语言课程成绩:
struct student
{int no;
/*学号*/
char name[10]; /*姓名*/
char sex;
/*性别*/
int age;
/*年龄*/
float score;
/*C成绩*/
/*身高*/
float weight;
/*体重*/
char addr[50]; /*住址*/
};
(3)日期结构体类型包括 年、月、日:
struct date {int year; /*年*/ month; /*月*/ day; /*日*/ };
(4)如职工信息结构体类型:
struct person
相关文档
最新文档