七章节结构体与共用体课件.pptxVIP

  • 1
  • 0
  • 约1.45万字
  • 约 57页
  • 2023-10-29 发布于江苏
  • 举报
第七章 结构体与共用体 莆田学院现代教育技术中心 2004年3月制作 高级语言程序设计 莆田学院现代教育技术中心 2004年3月 本章介绍:如何自己构造数据类型(构造型数据) 结构体 共用体 枚举类型 本章主要内容 内存分配函数 类型定义 莆田学院现代教育技术中心 2004年3月 C(C++)数据类型 莆田学院现代教育技术中心 2004年3月 诸如学生花名册、通讯录之类的数据, 最适合用结构体 来处理。因为这类数据具有如下特点: ♫ 每个人信息都是一个复合的构造数据,如由姓名、学号、 性别、年龄、 家庭住址、 联系电话等“成员”组成。 ♫ 不同的人,数据的值不同,但都有共同的成员组成。 1.概述 数 组是构造类数据,其数组元素必须是同一数据类型的。 结构体 也是构造类数据,但其成员可以是任何类型的。 构造类型使用户可以象处理单个变量一样来处理复 杂的数据结构。 一、结构体 莆田学院现代教育技术中心 2004年3月 结构体名 /*struct 结构体名合称“结构类型标识符”*/ 如何定义结构体类型? …… } ; /*此处分号不能省略*/ 成员名; /*成员表列*/ 关键字 struct … … 类型标识符 莆田学院现代教育技术中心 2004年3月 用户指定 { 【例一】 main() { struct student { int number; char name[6]; char sex; int age; } ; …… } number Name[6] sex age Address[20] … 本质上, 它定义了一个名 为”student” 的“结构体类 一个示例 char address[20]; 型” (表头) 。 莆田学院现代教育技术中心 2004年3月 组成结构体的成员本身必须是一种已有定义的数据: n 基本类型成员 (整型/字符型/实型) n 指针类型成员 n 数组类成员 n 其他构造类成员(包括已定义的另一种结构体) P262 结构体类型可以有千千万万种,表示由若干不同数据项组 成的复合类型。 定义结构体类型时,系统不会为该结构体分配内存 (只是 定义类型,而非变量声明) 结构体类型的特点: 注意:成员丰变量,故成员名可与变量名同名 莆田学院现代教育技术中心 2004年3月 P263 定义了以上结构体类型后,structstudent相当于标准数据类 型关键字char, int ,float…我们可以用它来定义“结构体变量”。 ①在结构体类型定义后,用struct结构体名复合词定义 struct 结构体名 { … }; struct 结构体名 变量名1,变量名2, … 变量名n; 如:struct student a,b[30],*p; a 为struct student类型的变量 b 为structstudent类型的数组 (每个元素都是一个结构 p 为指向struct student类型的指针变量 莆田学院现代教育技术中心 2004年3月 2、结构体类型变量的定义 体变量,都有众成员) ② 在定义结构体类型的同时定义结构体类型变量 struct 结构体名 { 直接定义结构体类型变量 struct { 实际使用中,还可以使用以下形式: 先定义 #define STU struct student 尔后 STU student1,student2; 还有两种合二为一方法 … … … }变量名1,变量名2 , … 变量名n; … }变量名1 ,变量名2 , … 变量名n; 莆田学院现代教育技术中心 2004年3月 ③ 【例二】定义结构体类型 main() { struct student { int number; char name[6]; char sex; int age; char address[20]; } a,b[30],*p; … … } 【例三】不定义结构体类 型,直接定义结构体类型 变量。 main() { struct { int number; char name[6]; char sex; int age; char address[20]; } a,b[30],*p; … … } 的同时定义结构体类型变量。 莆田学院现代教育技术中心 2004年

文档评论(0)

1亿VIP精品文档

相关文档