C++基础复习心得5
2016-09-22 14:11
357 查看
1 结构体的定义与使用
数组是一种数据形式,其特点是多个相同类型的元素集合起来;结构体是另一种重要的数据形式,特点是将不同类型的成员组合起来。
数组和结构体形成了两种风格迥异的聚合方式,通过他们及其相互
组合、嵌套的机制可以构造出复杂的、满足应用要求的自定义数据
类型。
定义结构体类型:
结构体类型声明一般放在程序文件开头,此时这个声明是全局的。
在全局作用域内,该声明处处可见,因此同作用域内的所有函数都
可以使用它。
结构体类型声明也可以放到函数内部,此时这个声明是局部的。
说明:
1 结构体类型和普通数据类型(如int、char、double等)一样是类型名称,而不是该类型的一个实体,因此不会为结构体类型分配存储空间。
2 结构体类型声明时成员可以又是是结构体类型。
结构体类型实例化
定义结构体对象称为结构体类型实例化(instance),实例化会根
据数据类型为结构体对象分配内存单元。
定义结构体对象有两种形式:
1 先声明结构体类型再定义对象:
STUDENT a,b;
2 声明结构体类型的同时定义对象
结构体对象的内存形式:
结构体对象成员引用
2 结构体与数组、指针、函数
结构体与数组
输入20个学生信息,按成绩递减排序;成绩相同时,按学号递增排序:
结构体与指针
结构体与函数
3 共用体类型
共用体(union)是一种成员共享存储空间的结构体类型。
共用体类型是抽象的数据类型,因此程序中需要事先声明具体的共用体类型,一般形式为:
共用体类型名与union一起作为类型名称,成员列表是该类型数据
元素的集合。 一对大括号{}是成员列表边界符,后面必须用分号
(;)结束。
结构体与共用体的内存形式是截然不同的。共用体内存长度是所有
成员内存长度的最大值,结构体内存长度是所有成员内存长度之和。可以用sizeof取它们的内存长度进行比较。
由于成员是共享存储空间的,使用共用体对象成员时有如下特点:
4 枚举类型
枚举类型是由用户自定义的由多个命名枚举常量构成的类型,其声
明形式为:
义枚举类型对象有三种形式:
5 链表的概念和分类
链表是一种存储空间能动态进行增长或缩小的数据结构。
链表主要用于两个目的:
1 建立不定长度的数组。
2 链表可以在不重新安排整个存储结构的情况下,方便且迅速地插入和删除数据元素。
链表广泛地运用于数据管理中。
链表的分类:
创建链表常用两种方法:头插法和尾插法。
销毁链表
6 链表的运算
链表遍历
查找结点
插入结点
删除结点
数组是一种数据形式,其特点是多个相同类型的元素集合起来;结构体是另一种重要的数据形式,特点是将不同类型的成员组合起来。
数组和结构体形成了两种风格迥异的聚合方式,通过他们及其相互
组合、嵌套的机制可以构造出复杂的、满足应用要求的自定义数据
类型。
定义结构体类型:
结构体类型声明一般放在程序文件开头,此时这个声明是全局的。
在全局作用域内,该声明处处可见,因此同作用域内的所有函数都
可以使用它。
结构体类型声明也可以放到函数内部,此时这个声明是局部的。
说明:
1 结构体类型和普通数据类型(如int、char、double等)一样是类型名称,而不是该类型的一个实体,因此不会为结构体类型分配存储空间。
2 结构体类型声明时成员可以又是是结构体类型。
结构体类型实例化
定义结构体对象称为结构体类型实例化(instance),实例化会根
据数据类型为结构体对象分配内存单元。
定义结构体对象有两种形式:
1 先声明结构体类型再定义对象:
STUDENT a,b;
2 声明结构体类型的同时定义对象
结构体对象的内存形式:
结构体对象成员引用
2 结构体与数组、指针、函数
结构体与数组
输入20个学生信息,按成绩递减排序;成绩相同时,按学号递增排序:
结构体与指针
结构体与函数
3 共用体类型
共用体(union)是一种成员共享存储空间的结构体类型。
共用体类型是抽象的数据类型,因此程序中需要事先声明具体的共用体类型,一般形式为:
共用体类型名与union一起作为类型名称,成员列表是该类型数据
元素的集合。 一对大括号{}是成员列表边界符,后面必须用分号
(;)结束。
结构体与共用体的内存形式是截然不同的。共用体内存长度是所有
成员内存长度的最大值,结构体内存长度是所有成员内存长度之和。可以用sizeof取它们的内存长度进行比较。
由于成员是共享存储空间的,使用共用体对象成员时有如下特点:
4 枚举类型
枚举类型是由用户自定义的由多个命名枚举常量构成的类型,其声
明形式为:
义枚举类型对象有三种形式:
5 链表的概念和分类
链表是一种存储空间能动态进行增长或缩小的数据结构。
链表主要用于两个目的:
1 建立不定长度的数组。
2 链表可以在不重新安排整个存储结构的情况下,方便且迅速地插入和删除数据元素。
链表广泛地运用于数据管理中。
链表的分类:
创建链表常用两种方法:头插法和尾插法。
销毁链表
6 链表的运算
链表遍历
查找结点
插入结点
删除结点
相关文章推荐
- C++基础复习心得2
- C++基础复习心得6
- C++基础复习心得1
- C++基础复习心得3
- C++基础复习心得 8
- C++基础复习心得 7
- c\c++复习基础要点14----容器list
- c\c++ 复习基础要点07---内存存储 大端模式、小端模式
- 复习C++基础知识-----“我的第一本C++”读书笔记2
- 复习C++基础知识-----“我的第一本C++”读书笔记3
- c\c++复习基础要点12---容器vector
- c\c++ 复习基础要点04 C与C++程序的内存结构的不同
- c\c++复习基础要点09---关键字explicit c++四种类型转换
- 复习C++ 走一遍基础 留下笔记----{三}
- C++基础复习之this关键字
- c\c++复习基础要点10---智能指针
- c\c++复习基础要点05---assert断言及其自定义实现
- 复习C++基础知识-----“我的第一本C++”读书笔记1
- 复习C++ 走一遍基础 留下笔记----{二}
- c++复习基础要点02 虚函数与模板 与static inline是否共存