- 2
- 0
- 约1.8万字
- 约 64页
- 2018-03-09 发布于浙江
- 举报
[计算机软件及应用]第6章 结构体与共用体
第6章 结构体与共用体 本章要点: 掌握结构体与共用体类型和变量的定义 掌握结构体与共用体变量成员的引用方法 掌握结构体数组的定义和使用方法 掌握指向结构体变量的指针及通过指针引用其成员 理解用指针处理链表 了解枚举类型变量的定义及其简单应用 6.1 结构体 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体-------自定义数据类型 结构体类型定义 6.2 结构体变量的定义 一、先定义结构体类型,再定义结构体变量 一般形式: 二、定义结构体类型的同时定义结构体变量 一般形式: 6.3 结构体变量的引用 引用规则 结构体变量不能整体引用,只能引用变量成员 6.4 结构体变量的初始化 形式一: 6.5 结构体数组 结构体数组的定义 三种形式: 结构体数组初始化 6.6 结构体和指针 指向结构体变量的指针 定义形式:struct 结构体名 *结构体指针名; 例 struct student *p; 指向结构体数组的指针 用指向结构体的指针作函数参数 用结构体变量的成员作参数----值传递 用指向结构体变量或数组的指针作参数----地址传递 用结构体变量作参数----多值传递,效率低 6.8 共用体 构造数据类型,也叫联合体 用途:使几个不同类型的变量共占一段内存(相互覆盖) 共用体类型定义 定义形式: 6.9 枚举类型 1、声明枚举类型格式: enum 枚举型名{枚举常量1,枚举常量2,……,枚举常量n}; 其中: 1)枚举型名是用户取的合法标识符 2)枚举常量是用户给常量取的标识符 3)C语言规定枚举常量的默认的初值依次是0、1、……、n-1 4)C语言规定在定义枚举常量时可以给枚举常量赋初值,其后没有赋初值的枚举常量将按自然数的规则依次赋初值 例: 1)enum weekday{sun,mon,tue,wed,thu,fri,sat}; 2)enum color{red=2,yellow=4,blue=7}; 3)enum week1{sun,mon,tue=5,wed,thu,fei,sat}; 2、枚举型变量的定义: 1)先定义枚举类型再定义枚举变量 2)定义枚举类型的同时定义枚举变量 3)定义无名称的枚举型同时定义枚举变量 1. malloc函数 它的作用是在内存开辟指定大小的存储空间,并将此存储空间的起始地址作为函数值带回。malloc函数的原型为: void *malloc(unsigned int size) 它的形参size为无符号整型。函数值为指针(地址),这个指针是指向void类型的,也就是不规定指向任何具体的类型。如果想将这个指针值赋给其他类型的指针变量,应当进行显式的转换(强制类型转换)。 例如: malloc(8) 用来开辟一个长度为8个字节的内存空间,如果系统分配的此段空间的起始地址为 81268,则malloc(8)的函数返回值为81268。 如果内存缺乏足够大的空间进行分配,则malloc函数值为“空指针”,即地址为0。 2. calloc函数 其函数原型为: void *calloc(unsigned int num,unsigned int size) 它有两个形参num和size。其作用是分配num个大小为size字节的空间。例如用calloc(20,30)可以开辟20个(每个大小为30字节)的空间,即总长为600字节。此函数返回值为该空间的首地址。 成员也可以是一个结构体变量。 3. free函数 free函数的原型为: void free(void*ptr) 其作用是将指针变量ptr指向的存储空间释放,即交还给系统,系统可以另行分配作它用。应当强调,ptr值不能是任意的地址项,而只能是由在程序中执行过的malloc或calloc函数所返回的地址。如果随便写:free(100)是不行的,系统怎么知道释放多大的存储空间呢? 例如: p=(long*)malloc(18); … free(p); free函数它把原先开辟的18个字节的空间释放。 free函数无返回值。 6.7.4 建立动态链表 所谓建立链表是指一个一个地输入各结点数据,并建立起各结点前后相链的关系。 建立单向链表的方法有插表头方法和链表尾方法两种。 插表头方法的特点是:新产生的结点作为新的表头插入链表前面; 链表尾方法的特点是:新产生的结点接到链表的尾部。 用插
您可能关注的文档
- [计算机软件及应用]第4讲嵌入式实时操作系统分析.ppt
- [计算机软件及应用]第5章 需求建模.pdf
- [计算机软件及应用]第5章 面向对象编程基础1.ppt
- [计算机软件及应用]第5章 软件工程_总体设计 p65.ppt
- [计算机软件及应用]第5讲 病毒、恶意程序及其防范.ppt
- [计算机软件及应用]第6章 分布式数据库中的可靠性.ppt
- [计算机软件及应用]第6讲 第6章 数组.ppt
- [计算机软件及应用]第6设备更新.ppt
- [计算机软件及应用]第7-8讲 数据库的创建和使用.ppt
- [计算机软件及应用]第7章 输入输出09级.ppt
- 2025年新外研版三年级上册英语同步教学课件.pptx
- 红十字会大讲堂管理制度.docx
- 技术奇点(Singularity)理论的科学基础、哲学思辨与未来社会构想 _2026年1月.docx
- 公共艺术项目在激活城市消极空间(如高架桥下、废弃铁轨)中的作用 _2026年1月.docx
- “双减”政策对校外培训行业转型及家庭教育投入变化的影响 _2026年1月.docx
- Z世代员工对职场“摸鱼文化”的态度成因与管理对策研究 _2026年1月.docx
- 跨文化团队管理中的沟通障碍、文化冲突与融合策略案例分析 _2026年1月.docx
- 共享经济平台将劳动者归类为“合作伙伴”的伦理与法律责任 _2026年1月.docx
- 大型国际展会(如进博会、CES)的绿色会展实践与可持续发展评估 _2026年1月.docx
- 地理标识产品(如阳澄湖大闸蟹)与产地旅游的融合发展研究 _2026年1月.docx
最近下载
- 欧洲癌症研究质量组织结直肠癌专用生存质量问卷( EORTC QLQ CR29).docx
- 2025年新疆中考物理试题(含答案解析 ).pdf
- 一年级快乐读书吧《和大人一起读—儿童故事》课件.pptx VIP
- EPC项目设计及施工的配合.docx VIP
- 旅游消费的特点.pptx VIP
- 经肛门灌洗治疗直肠癌低位前切除综合征中国专家共识解读PPT课件.pptx VIP
- (一模)新疆2026年高三普通高考二月适应性检测文科综合试卷(含官方答案).docx
- 中国老年人肌少症诊疗专家共识(2021).pdf VIP
- 建筑拆除机器人分选再生骨料技术项目技术创新总结报告.pptx
- 2025年河北省单招三类试卷及答案.docx VIP
原创力文档

文档评论(0)