wordpress自定义模板下载最新黑帽seo培训
(1)概念:结构是一种由程序员定义的、由其他变量类型组合而成的数据类型。
(2)结构的节本语法格式:
struct name
{type varName1;type varName2;......}; //注意有一个分号
注意:结构所能包含的变量个数是无限制的,变量可以是任意一种合法的数据类型,这些变量称为该结构的成员 。
(3)使用场景:需要处理一些具有多种属性的数据时,结构往往是最好的选择。
比如:编写个人档案,涉及到的基本特征有姓名、性别、年龄...等。
//定义一个Person类型的结构
struct Person
{std::string name;char sex; //F==Female,M==Maleint age;
};
(4)创建结构类型的变量
定义结构后,可以创建该结构类型的变量
Person Xiaohong; //创建一个Person结构类型Xianghong
(5)用“.”对结构成员进行赋值
Xiaohong.name="小红";
Xiaohong.sex='M';
Xiaohong.age=18;
如果在创建一个结构类型变量的时候已经知道它各个成员相关的值,我们可以在声明变量的同时进行赋值。
Person Xiaohong={"小红",'M',18};
(6)结构与指针
1)指针可以指向结构,就像指向其他任何变量那样。
2)如何通过指针访问各个成员的值?
<1>创建一个指向该结构的指针:
Person *pXiaohong=&Xiaoghong; //创建Person类型的指针
注意:因为指针的类型必须与指向的地址的变量的类型一致,所以之pXiaohong指针的类型也是Person(Xiohong的类型是Person,所以pXiaohong指针的类型也是Person).
<2>通过对指针解引用来访问相应的变量值:
//修改Person类型结构的成员值 方式一: (*pXiaohong).name="小a红";(*pXiaohong).sex='F';(*pXiaohong).age=20;std::cout<< (*pXiaohong).name<<"\n"; //小a红std::cout<< (*pXiaohong).sex<<"\n"; //Fstd::cout<< (*pXiaohong).age<<"\n"; //20
<3>通过"->"方式访问相应的变量值:
//修改Person类型结构的成员值 方式二:pXiaohong->name="小明"; pXiaohong->sex='F'; pXiaohong->age=23; std::cout<<pXiaohong->name<<'\n'; //小明std::cout<<pXiaohong->sex<<'\n'; //Fstd::cout<<pXiaohong->age<<'\n'; //23
(7)完整代码
#include <iostream>int main()
{//定义一个Person类型的结构struct Person {std::string name;char sex; //F==Female,M==Maleint age;};Person Xiaohong; //创建一个Person结构类型XianghongXiaohong.name="小红";Xiaohong.sex='M';Xiaohong.age=18;Person *pXiaohong=&Xiaohong; //创建Person类型的指针 //修改Person类型结构的成员值 方式一:
// (*pXiaohong).name="小a红";
// (*pXiaohong).sex='F';
// (*pXiaohong).age=20;
//
// std::cout<< (*pXiaohong).name<<"\n"; //小a红
// std::cout<< (*pXiaohong).sex<<"\n"; //F
// std::cout<< (*pXiaohong).age<<"\n"; //20//修改Person类型结构的成员值 方式二:pXiaohong->name="小明"; pXiaohong->sex='F'; pXiaohong->age=23; std::cout<<pXiaohong->name<<'\n'; //小明std::cout<<pXiaohong->sex<<'\n'; //Fstd::cout<<pXiaohong->age<<'\n'; //23return 0;
}
(8)课后练习
• 【要求】
– 定义一个结构,至少存储:姓名、身份证、性别
– 实现文件存储
– 可以打印到屏幕
未完待续。。。