结构:
结构(Structure)是一种由程序员定义的,由其他变量类型组合而成的数据类型
定义一个结构的基本语法是:
struct name
{
type varName1;
type varName2;
};
注意后面还有一个分号
当需要处理一些具有多种属性的数据时,结构往往是很好的选择
例如编写一个个人信息管理程序时,涉及到的基本特征有:名称、账号、性别等
struct IDmation
{
//声明三个成员变量
string name;
string ID;
char sexual;
};
C++对于一个结构所能包含的变量的个数是没有限制的,那些变量通常我们称为该结构的成员,他们可以是任意一种合法的数据类型
结构的用法 先定义结构 之后用 "."点符号或 "->"指向符 对结构成员进行赋值
IDmation IDdata;//定义一个IDmation类 名为IDdata的IDmation类结构变量(相当于让IDdata有了IDmation所定义的数据结构)
IDdata.name="TaylorDurden";
IDdata.ID="FightClub";
IDdata.sexual='M';
如果我们在创建一个结构类型变量的时候就已经知道它的各个成员相关的值,我们可以在声明新变量的同时进行结构体初始化例如:
IDmation IDinit = {
"TylerDurden","DoNotTalkAbout",'M'};
结构与指针
创建一个指向该结构的指针:
C和C++中指针无所不能 既可以指向结构 就像指向其他任何变量
IDmation IDdata;//建立一个名为IDdata的结构体变量名
IDmation *Pmation=&IDdata;//建立一个结构体变量名为Pmation的结构体指针 指向结构体实例变量IDdata
因为指针的类型必须与指向的地址的变量的类型一致 所以Pmation指针的类型也是IDmation
有两种方法来访问结构指针里面的变量值
第一种:可以通过指针进行解引用来访问相应的变量值(相当于直接用结构体变量名进行访问)
(*Pmation).name="TylerDurden";
第二种: 通过 -> 指向符进行访问
Pmation->name="TylerDurden";
什么时候用“.”,什么时候用“->”呢,就是说前面如果是指针解引用或结构体变量名的话就是用“.”,前面如果是指针的话就用“->”
C++结构体详解https://blog.csdn.net/Chroniccandy/article/details/108071395
案例
定义一个结构体
1.要求存储 姓名 账号 性别等信息
2.实现用户数据文件的读取存储
3.将用户数据和功能界面打印到屏幕
1.首先进行用户数据的初始化
INITmation();//进行 用户数据的初始化
结构体数据(或文件)写入函数INITmation()
至此 结构体已经并初始化完毕 并将结构体内的参数 按照结构体的格式 输出到了用户文件中 等待用户读取
2.用户数据的初始化完毕后 进入系统界面 等待用户选择功能
用户界面
3.用户选择选项1 进行用户文件数据的打印
case 1 (选项1) 中调用 ReadMation()函数进行用户数据文件的读取
结果
3.用户选择选项2 进行用户数据的录入 以及 用户数据的保存
case 2 (选项2) 中调用 RecordMation()函数与WriteMation函数 进行用户数据的录入和保存
结果