第八章数据封装结构体

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
我们希望的结构
00001 00002 00003 张三 李四 王五
96 89 90 94 70 87 88 76 78
学号 姓名 数学 英语 程序设计
00001 学 张三 生 96 一 94
88
00002 学 李四 生 89 二 70
76
00003 学 王五 生 90 三 87
78
在C++中称为结构体
五个数组: char no[3][14]; char name[3][12]; int math[3]; int english[3]; int programming[3];
00001 00002 00003 张三 李四 王五
96 89 90 94 70 87 88 76 78
学号 姓名 数学 英语 程序设计
姓名 张三 李四
数学 96 89
英语 94 70
程序设计 88 76
00003
王五 90
87
78
允许把一些分量聚合成一个整体,用一个变量表示 一个结构体的各个分量都有名字,把这些分量称为成员(member) 结构体的成员可以是各种类型,程序员能创建适合于问题的数据聚合
9
目录
8.1
结构体的概述
8.2
结构体数组
8.5 结构体作为函数的参数
8.6
小结
结构体变量的定义与初始化
结构体变量定义格式: 结构体类型 变量名 studentT student1;
一旦定义了一个结构体类型的变量,系统在分配内 存时就会分配一块连续的空间,依次存放它的每一个 分量。这块空间总的名字就是结构体变量的名字,内 部还有各个分量的名字 。
8.2
结构体类型的定义
8.3
结构体类型的变量
8.4
结构体数组
8.5 结构体作为函数的参数
8.6
小结
目录
8.1
结构体的概述
8.2
结构体类型的定义
8.3
结构体类型的变量
8.4
结构体数组
8.5 结构体作为函数的参数
8.6
小结
为什么要使用结构体
将一个人的所有信息项放在一起,即保持相关性。
学号 00001 00002
};
递归嵌套
struct studentT{ char no[14]; char name[12]; int math; int english; int programming; studentT birthday;
};
13
目录
8.1
结构体的概述
8.2
结构体类型的定义
8.3
结构体类型的变量
8.4
结构体类型的定义
8.3
结构体类型的变量
8.4
结构体数组
8.5 结构体作为函数的参数
8.6
小结
结构体类型的定义
定义结构体类型中的成员 格式:
struct 结构体类型名{ 成员声明;
};
一定要有
结构体类型名
struct studentT{ char no[14]; char name[12]; int math; int english; int programming;
C/C++语言也是先有了基本类型和数组,当单一的变量或多变量,不能够更好的表达所描述事物的 特征的时候, C/C++语言无法满足你所有定义变量的需求,所以放开了自定义权限,于是 struct 关 键字就应运而生了。
struct 的出现,然后就拥有了几乎所有的自定义类型。
6
目录
8.1
结构体的概述
};
成员声明
11
结构体成员的类型
可以是任意类型
可以是结构体类型吗?
struct studentT{ char no[14]; char name[12]; int math; int english; int programming;
};
struct dataT{ int month; int day; int year;
结构体变量初始化格式: studentT student1= {"00001","张三" ,87,90,77};
student1 no name math english programming
15
结构体变量的访问
访问它的成员 结构变量名.成员名
struct studentT{ char no[14]; char name[12];
通过对它的每一个成员的赋值而实现 如:输入student1的内容可用:
张三 96
94
00002
李四 89
70
00003
王五 90
87
程序设计 88 76 78
如何在程序中表示学生信息?
3
可选方案探讨
int a[3][4];
1234 5678 9 10 11 12
? scores[3][5];
00001 张三 96 94 88 00002 李四 89 70 76 00003 王五 90 87 78
如: student1.name
如结构中还有结构,则一级一级用”.”分开
int math; int english; int programming; };
如:student1.birthday.year
struct dataT{
int month;
int day;
int year;
};
16
结构变量的赋值
程序设计思想与方法(C++)
第八章 数据的封装—结构体
任课教师:胡亮
2020年11月19日
知识点回顾
如何定义一个指针? 数组名和指针:相同点和区别 动态内存分配:1、基本格式;2、初始化;
3、分配和释放 字符串和指针 引用类型与函数
2
问题
学生成绩单:统计每个学生的总分
学号
姓名 数学
英语
00001
结构体数组
5
C++数据类型
基本类型
整型 int
实型
单精度float 双精度double
字符型 char
布尔型 bool 枚举 enum
数组 type []
指针 type *
非基本数据类型
引用 type & 类 class 结构 struct 联合 union
《道德经》曰:“一生二,二生三,三生万物”。也就是说先有了一,二,然后有了三,然后三延生了 万物。
};
结构体嵌套
struct studentT{ char no[14]; char name[12]; dataT birthday; int math; int english; int programming;
};
Байду номын сангаас12
结构体成员的类型
可以是任意类型
可以是正在定义结构体类型自己?
struct studentT{ char no[14]; char name[12]; int math; int english; int programming;
相关文档
最新文档