南京师范大学:《C程序设计》第十章 结构体和共用体

C程序设计 主讲教师:汪闽 南京师范大学 地图学与地理信息系统04级 专业选修课
C程序设计 南京师范大学 地图学与地理信息系统04级 专业选修课 主讲教师: 汪闽

第十章结构体和共用体 10.1结构体概念 10.2结构体变量的定义 10.3结构体变量的引用 10.4结构体变量的初始化 10.5结构体数组 10.6结构体和指针 107共用体 0.8用 typedef.定义类型 10.9枚举数据类型
10.1 结构体概念 10.2 结构体变量的定义 10.3 结构体变量的引用 10.4 结构体变量的初始化 10.5 结构体数组 10.6 结构体和指针 10.7 共用体 第十章 结构体和共用体 10.8 用typedef定义类型 10.9 枚举数据类型

10.1结构体 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个 整体--自定义数据类型 结构体类型定义 合法标识符 可省:无名结构体 struct[结构体名 类型标识符成员名; 类型标识符成员名 成员类型可以是 struct是关键字, 基本型或构造型 不能省略
10.1 结构体 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个 整体-------自定义数据类型 – 结构体类型定义 struct [结构体名] { 类型标识符 成员名; 类型标识符 成员名; ……………. }; 成员类型可以是 struct是关键字, 基本型或构造型 不能省略 合法标识符 可省:无名结构体

num 2字节 例子图解 name 20字节 例 struct student sex 1字节 int num age 2字节 char name 201 char sex score 4字节 Int age float score char addr 301 30字节 结构体类型定义描述结构 的组织形式不分配内存
例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; name num sex age score addr 2字节 2字节 20字节 1字节 4字节 30字节 … ….. 结构体类型定义描述结构 的组织形式,不分配内存 例子图解

10.2结构体变量的定义 先定义结构体类型,再定义结构体变量 般形式 struct结构体名 类型标识符成员名; 类型标识符成员名 struct结构体名变量名表列
– 先定义结构体类型,再定义结构体变量 • 一般形式: struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }; struct 结构体名 变量名表列; 10.2 结构体变量的定义

定义结构体类型的同时定义结构体变量 般形式 struct结构体名 类型标识符成员名 类型标识符成员名; }变量名表列; 例 struct student Int num; char name 201 char sex Int age float score char addr[30] 3stul, Stu2
一般形式: struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }变量名表列; 例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2; 定义结构体类型的同时定义结构体变量

般形式:直接定义结构体变量 struct 类型标识符成员名 类型标识符成员名; }变量名表列; 例 struct int num 用无名结构体直接定义 char name 201 变量只能一次 char sex Int age float score char addr[30] 3stul, Stu2
一般形式: struct { 类型标识符 成员名; 类型标识符 成员名; ……………. }变量名表列; 例 struct { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2; 用无名结构体直接定义 变量只能一次 直接定义结构体变量

说明: 结构体类型与结构体变量概念不同 类型不分配内存; 变量分配内存 类型不能赋值、存取、运算;变量:可以 结构体可嵌套 结构体成员名与程序中变量名可相同,不会混淆
结构体类型与结构体变量概念不同 类型:不分配内存; 变量:分配内存 类型:不能赋值、存取、运算; 变量:可以 结构体可嵌套 结构体成员名与程序中变量名可相同,不会混淆 说明:

10.3结构体变量的引用 引用规则 ·结构体变量不能整体引用,只能引用变量成员 引用方式:结构体变量名成员名 成员(分量)运算符 优先级:1 结合性:从左向右 可以将一个结构体变量赋值给另一个结构体变量 结构体嵌套时逐级引用
– 引用规则 • 结构体变量不能整体引用,只能引用变量成员 可以将一个结构体变量赋值给另一个结构体变量 结构体嵌套时逐级引用 成员(分量)运算符 优先级: 1 结合性:从左向右 引用方式: 结构体变量名.成员名 10.3 结构体变量的引用

10.4结构体变量的初始化 形式一: struct结构体名 类型标识符成员名 类型标识符成员名 struct结构体名结构体变量={初始数据}; 例 struct student int num char name 201 char sex: Int age char addr 30 struct student stul=(112,Wang Lin',M,, 19, 200 Beijing Road)
– 形式一: struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }; struct 结构体名 结构体变量={初始数据}; 例 struct student { int num; char name[20]; char sex; int age; char addr[30]; }; struct student stu1={112,“Wang Lin”,‘M’,19, “200 Beijing Road”}; 10.4 结构体变量的初始化
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京师范大学:《C程序设计》第十一章 文件.ppt
- 南京师范大学:《C程序设计》第六章 数组.ppt
- 南京师范大学:《C程序设计》第八章 预编译命令.ppt
- 南京师范大学:《C程序设计》第五章 循环结构程序设计.ppt
- 南京师范大学:《C程序设计》第二章 数据类型、运算符号与表达式.ppt
- 南京师范大学:《C程序设计》第九章 指针.ppt
- 南京师范大学:《C程序设计》第三章 顺序程序结构设计.ppt
- 南京师范大学:《C程序设计》第七章 函数3 new.ppt
- 南京师范大学:《C程序设计》第一章 C语言概论.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第9章 消隐.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第8章 曲线和曲面.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第7章 三维变换及三维观察.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第6章 二维变换及二维观察.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第5章 基本图形生成算法.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第4章 造型技术.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第3章 交互式技术.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第2章 图形设备.ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第1章 引言(主讲:陆枫).ppt
- 华中科技大学:《计算机图形学基础》课程电子教案(PPT教学课件)第10章 真实感图形绘制.ppt
- 上海理工大学:《电子商务基础与应用》课程PPT教学课件资源(第四版)第一章 认识电子商务.ppt
- 南京师范大学:《C程序设计》第四章 选择结构程序设计.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)每章习题.doc
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)每章习题答案与提示.doc
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第十章 图纸布局与打印输出.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第十一章 共享AutoCAD数据和协同设计.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第十二章 创建三维模型.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第十三章 图纸集.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第一章 认识 AutoCAD.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第二章 设置绘图环境.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第三章 创建和编辑二维图形对象(一).ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第四章 创建和编辑二维图形对象(二).ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第五章 对象特性与图层.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第六章 利用绘图辅助工具精确绘图.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第七章 文字与表格.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第八章 尺寸标注.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第九章 块的使用.ppt
- 《SQL Server应用开发技术》第1章 数据库原理概述.ppt
- 《SQL Server应用开发技术》第2章 SQL Server 2000安装和配置.ppt
- 《SQL Server应用开发技术》第3章 数据库文件管理.ppt
- 《SQL Server应用开发技术》第4章 表和表数据操作.ppt