倍富馨 Include 第八章 tde fine EPs vold main doub 用户自定义函数原型说明 scani pI 1of sin( double II while( fab n=n+1; 信息科学技术学院C语言程序设计教学组
C Programming Language>第八章 第八章结构体(与共用体) 大内容提要 结构体类型的定义 >结构体类型定义 设计 结构体变量的定义与引用结构体变量定义引用 结构体数组与指针 >结构体数组与指针 结构体与函数(数据传递)结构体与函数 结构体数组应用 >结构体数组应用 结构体与链表应用 >结构体与链表应用 U bajia(o usle 90
第八章 结构体(与共用体) ★ 内容提要: ➢ 结构体类型定义 ➢ 结构体变量定义引用 ➢ 结构体数组与指针 ➢ 结构体与函数 ➢ 结构体数组应用 ➢ 结构体与链表应用 结构体类型的定义 结构体变量的定义与引用 结构体数组与指针 结构体与函数(数据传递) 结构体数组应用 结构体与链表应用
C Programming Language>第八章 结构体(结构变量)是不同类型的数 据元素的有序集合。相当于其它高级语 言的记录型,用以组织和处理复杂的数 据客观世界的实体)。 U≤ lin( ustc, o(Lcnb
结构体(结构变量)是不同类型的数 据元素的有序集合。相当于其它高级语 言的记录型,用以组织和处理复杂的数 据(客观世界的实体)。 结构体(结构变量)是不同类型的数 据元素的有序集合。相当于其它高级语 言的记录型,用以组织和处理复杂的数 据(客观世界的实体)
C Programming Language>第八章 81实体与属性 实体:指客观世界的人、事、物、概念等 属性:实体的特征,用以描述实体。 学生是个实体,可以通过以下属性给以描述 实体 学生 属性组: nuII name age sex score addr U≤ lin( ustc, o(Lcnb
实体:指客观世界的人、事、物、概念等。 属性:实体的特征,用以描述实体。 8.1 实体与属性 学生是个实体,可以通过以下属性给以描述: 实体: 属性组: 学生 num name age sex score addr 学生是个实体,可以通过以下属性给以描述: 实体: 属性组: 学生 num name age sex score addr 实体: 属性组: 学生 num name age sex score addr
Programming Language>第八章 112定义结构体类型 struct student I struct student两者 构成结构体特定类型 int num char name [20] 属性描述,包括属性 char sex 个数、所属类型、存 int age 储顺序、所占存储空 设 间的大小等,称为成 float score 员(属性)说明表。 char addr [32] U≤ lin( ustc, o(Lcnb
struct student { int num; char name[20]; char sex; int age; float score; char addr[32]; }; 11.2 定义结构体类型 struct student两 者 构成结构体特定类型 属性描述,包括属性 个数、所属类型、存 储顺序、所占存储空 间的大小等,称为成 员(属性)说明表
C Programming Language>第八章 结构体类型定义形式 struct结构体名[ struct结构体名两者 构成结构体特定类型 类型名1成员名1 类型名2成员名2; 属性描述,包括属性 ●●●●●●日 个数、所属类型、存 类型名i成员名i; 储顺序、所占存储空 ●●●●●●日 间的大小等,称为成 类型名n成员名n; 员(属性)说明表。 U≤ lin( ustc, o(Lcnb
struct 结构体名 { 类型名1 成员名1; 类型名2 成员名2; ……; 类型名i 成员名i; ……; 类型名n 成员名n; }; 结构体类型定义形式: struct 结构体名两 者 构成结构体特定类型 属性描述,包括属性 个数、所属类型、存 储顺序、所占存储空 间的大小等,称为成 员(属性)说明表
C Programming Language>第八章 语类型定义只是说明了一个实体相应的属性描 述,只有通过定义相应的变量,并赋以一定的 值才能构成一个实体的元素(记录 结构变量的存储单元的大小为各成员 所需容量的总和 以本例说明: 结构变量的存储单元的大小=4+20+1+4+4+32=65 U≤ lin( ustc, o(Lcnb
类型定义只是说明了一个实体相应的属性描 述,只有通过定义相应的变量,并赋以一定的 值才能构成一个实体的元素(记录)。 结构变量的存储单元的大小为各成员 所需容量的总和。 以本例说明: 结构变量的存储单元的大小= 4+20+1+4+4+32=65
C Programming Language>第八章 83定义结构体变量及常用方式 1)先定义结构体类型再定义相应变量 struct student student1 编译时系统为其分配存储空间 studentI num name[ sex age score addrlI U≤ lin( ustc, o(Lcnb
struct student student1; 8.3 定义结构体变量及常用方式 1) 先定义结构体类型再定义相应变量: 编译时系统为其分配存储空间: student1 num name[ ] sex age score addr[ ] 编译时系统为其分配存储空间: student1 num name[ ] sex age score addr[ ] student1 num name[ ] sex age score addr[ ]
C Programming Language>第八章 语2)在定义结构体类型的同时定义变量 struct student I int num char name [201, sex int age float score char addr [32] I student1, student2 U≤ lin( ustc, o(Lcnb
struct student { int num; char name[20],sex; int age; float score; char addr[32] } student1, student2; 2) 在定义结构体类型的同时定义变量:
C Programming Language>第八章 语3)结构体类型可以嵌套定义:图书是个实体, 可以通过以下属性给以描述: 实体 图书 属性组 作者)(书名)(出版社)出版日期)(价格 month day year U≤ lin( ustc, o(Lcnb
3) 结构体类型可以嵌套定义:图书是个实体, 可以通过以下属性给以描述: 实体: 属性组: 图书 month 作者 书名 出版社 出版日期 价格 day year 实体: 属性组: 图书 month 作者 书名 出版社 出版日期 价格 day year