清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第九章 用户建立的数据类型

清华大学出版社 TSINGHUA UN/VERSITY PRESS 第九章 用户建立的数据类型
第九章

清华大学出版社 TSINGHUA UNIVERSITY PRESS 本章要点 结构体的概念 结构体的定义和引用 结构体数组
⚫ 本章要点 结构体的概念 结构体的定义和引用 结构体数组

清华大学出版社 TSINGHUA UNIVERSITY PRESS 主要内容 91结构体类型和结构体变量 92结构体数组 9.3结构体指针 94用指针处理链表 9.5共用体类型 96枚举类型 97用 typedef命名类型
⚫ 主要内容 9.1 结构体类型和结构体变量 9.2 结构体数组 9.3 结构体指针 9.4 用指针处理链表 9.5 共用体类型 9.6 枚举类型 9.7 用typedef命名类型

清华大学出版社 TSINGHUA UNIVERSITY PRESS §9.1结构体类型和结构体变量 9.1.1结构体类型 问题定义 有时需要将不同类型的数据组合成一个有机 的整体,以便于引用。如: 个学生有学号/姓名/性别/年龄/地址等属性 int num; char name 20; char sex N um name seX age score addr 100101 Li Fun M 1887.5 Beijing 图9-1
§9.1 结构体类型和结构体变量 9.1.1 结构体类型 ◼ 问题定义: 有时需要将不同类型的数据组合成一个有机 的整体,以便于引用。如: 一个学生有学号/姓名/性别/年龄/地址等属性 int num; char name[20]; char sex; int age; int char addr[30]; 应当把它们组织成一个组合项,在一个组合 项中包含若干个类型不同(当然也可以相同) 的数据项。 图9-1 100101 Li Fun M 18 87.5 Beijing Num name sex age score addr

清华大学出版社 TSINGH VERS/TY PRESS §9.1结构体类型和结构体变量 9.1.1结构体类型 声明一个结构体类型的一般形式为: sret结构体气结构体名 成员表列} struct student int num char name 20]; char sex int age; float score char addr[30] 类型名 成员名
◼ 声明一个结构体类型的一般形式为: struct 结构体名 {成员表列}; 如:struct student { int num;char name[20];char sex; int age;float score;char addr[30]; } 结构体名 类型名 成员名 §9.1 结构体类型和结构体变量 9.1.1 结构体类型

清华大学出版社 TSINGHUA UNIVERSITY PRESS §9.1结构体类型和结构体变量 9.1.1结构体类型 说明: (1)结构体类型并不是只有一种,而是可以设计出许 多种结构体类型 (2)成员也可以是一个结构体变量 (3)“结构体”这个词是根据英文单词 s t r t ure译出的
说明: (1)结构体类型并不是只有一种,而是可以设计出许 多种结构体类型. (2) 成员也可以是一个结构体变量。 (3)“结构体”这个词是根据英文单词struct ure译出的。 §9.1 结构体类型和结构体变量 9.1.1 结构体类型

清华大学出版社 TSINGHUA UNIVERSITY PRESS 9.1.2定义结构体类型变量 ■可以采取以下3种方法定义结构体类型变 (1)先声明结构体类型再定义变量名 例如: struct student student 1, student2; student1 100102 WangLi F 2098 Beijing student2 100101 Zhang XiT M 19 90.5 Shanghai 图9-3
9.1.2 定义结构体类型变量 ◼ 可以采取以下3种方法定义结构体类型变 量: (1)先声明结构体类型再定义变量名 例如:struct student student1, student2; | | | 结构体类型名 结构体变量名 定义了student1和student2为struct student 类型的变量,即它们具有struct student 类型的结构. 图9-3 student1 100101 ZhangXin M 19 90.5 Shanghai 100102 WangLi F 20 98 Beijing student2

清华大学出版社 TSINGHUA UNIVERSITY PRESS 9.1.2定义结构体类型变量 在定义了结构体变量后,系统会为之分配内 存单元。 例如: student1和 Student2在 Turbo c的内存 中各占59个字节( 2+20+1+2+4+30=59)。 (2)在声明类型的同时定义变量 这种形式的定义的一般形式为 struct结构体名 成员表列 }变量名表列;
在定义了结构体变量后,系统会为之分配内 存单元。 例如:student1和student2在Turbo C的内存 中各占59个字节( 2+20+1+2+4+30=59)。 (2)在声明类型的同时定义变量 这种形式的定义的一般形式为: struct 结构体名 { 成员表列 }变量名表列; 9.1.2 定义结构体类型变量

清华大学出版社 TSINGHUA UNIVERSITY PRESS 9.1.2定义结构体类型变量 例如: 它的作用与第 struct student 种方法相同,即 int num 定义了两个 struct student类型的变 char name [201 量 student1 char sex student2 Int age float score char addr[301 student1, student2
例如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2; 它的作用与第一 种方法相同,即 定义了两个struct student 类型的变 量student1, student2 9.1.2 定义结构体类型变量

清华大学出版社 TSINGHUA UNIVERSITY PRESS 9.1.2定义结构体类型变量 (3)不指定类型名而直接定义结构体类型变量 其一般形式为 注意 struct (1)结构体类型与结构体变量 是不同的概念,不能混同。 成员表列(2)结构体类型中的成员名可 }变量名表列以与程序中的变量名相同,但二 即不出现结构体名 者不代表同一对象。 (3)对结构体变量中的成员( 即“域”),可以单独使用, 它的作用与地位相当于普通变 量
(3) 不指定类型名而直接定义结构体类型变量 其一般形式为: struct { 成员表列 }变量名表列; 即不出现结构体名。 注意: (1) 结构体类型与结构体变量 (2) 结构体类型中的成员名可 以与程序中的变量名相同,但二 (3) 对结构体变量中的成员( 即“域”),可以单独使用, 它的作用与地位相当于普通变 量。 9.1.2 定义结构体类型变量
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第七章 函数调用.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第六章 数组.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第五章 循环结构程序设计.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第四章 选择结构程序设计.ppt
- 厦门理工学院(厦门理工大学):《高级语言程序设计》课程电子教案(PPT教学课件)第7章 指针(教师:吴芸).ppt
- 《Visual C++编程技术》课程电子教案(讲义)第5章 菜单、工具栏和状态栏编程.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第4章 基本输入—键盘和鼠标消息.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第3章 面向对象程序设计与C++语言.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第2章 Windows编程与MFC基础.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第1章 Visual c++6.0基本应用程序的创建.pdf
- 河南工业大学:《微机原理与接口技术》第九章 中断.ppt
- 河南工业大学:《微机原理与接口技术》第八章 串行输入/输出接口.ppt
- 河南工业大学:《微机原理与接口技术》第七章 可编程接口芯片.ppt
- 河南工业大学:《微机原理与接口技术》第六章 微型计算机的输入/输出.ppt
- 河南工业大学:《微机原理与接口技术》第五章 存储器原理与接口.ppt
- 河南工业大学:《微机原理与接口技术》第四章 8086汇编语言程序设计.ppt
- 河南工业大学:《微机原理与接口技术》第三章 8086的指令系统.ppt
- 河南工业大学:《微机原理与接口技术》第二章 8086体系结构.ppt
- 河南工业大学:《微机原理与接口技术》第一章 计算机基本知识.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第8章 函数与预处理命令.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第十章 文件操作.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第一章 C语言概述.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第二章 数据类型、算待与表达式.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第三章 最简单的C程序设计-一顺序程序设计.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第八章 使用指针.ppt
- 宜昌市广播电视大学:《计算机网络》PPT教学课件(共五章).ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第九章 JavaScript 中的浏览器对象.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第十章 处理表单和表单元素事件.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第一章 Dreamweaver 使用入门.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第二章 使用 Dreamweaver 制作网页.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第三章 制作动态网页.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第四章 HTML.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第五章 使用表格和表单.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第六章 层叠样式表.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第七章 JavaScript 语法基础.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第八章 JavaScript 核心语言对象.ppt
- 《大学计算机基础教程》课程教学资源:PPT教学课件 第1章 计算机基础.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 8086指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 汇编语言及程序设计.ppt