目录
1.结构体
结构体概念:
结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。
结构体定义和使用:
语法:struct 结构体名 {结构体成员列表};
通过结构体创建变量的三种方式:
- struct 结构体名 变量名;
- struct 结构体名 变量名{成员值1,成员值2,...};
- 定义结构体时顺便创建变量
示例:
#include <iostream>
#include <string>
using namespace std;
//1.创建打工人数据类型:打工人包括(工号,工龄,岗位职责)
//语法:struct Worker {成员列表};
struct Worker
{
//成员列表
int number;
int age;
string post;
}w3;//创建结构体时顺便创建结构体变量
int main()
{
//2.通过打工人类创建具体打工人
//2.1 struct 结构体名 变量名;
//创建结构体变量的时候 struct 关键字可以省略
Worker w1;
w1.number = 66;
w1.age = 1;
w1.post = "拧螺丝";
cout << "工号:" << w1.number << " 工龄:" << w1.age << " 岗位职责:" << w1.post << endl;
//2.2 struct 结构体名 变量名 { 成员值1,成员值2, ... };
struct Worker w2 {68,3,"打螺帽" };
cout<< "工号:" << w2.number << " 工龄:" << w2.age << " 岗位职责:" << w2.post << endl;
//2.3 定义结构体时顺便创建变量
w3.number = 88;
w3.age = 3;
w3.post = "钻孔";
cout << "工号:" << w3.number << " 工龄:" << w3.age << " 岗位职责:" << w3.post << endl;
}
结果:
2.结构体数组
作用:将自定义的结构体放入数组中方便维护
语法:struct 结构体名 数组名 [元素个数] = { {},{},...};
示例:
#include <iostream>
#include <string>
using namespace std;
//1.创建打工人结构体
struct Worker
{
//成员列表
int number;
int age;
string post;
};
int main()
{
//2.创建结构体数组
struct Worker worArray[3]
{
//初始化给结构体数组赋值
{45,1,"拧螺丝"},
{46,2,"打螺丝帽"},
{48,3,"钻孔"}
};
//3.给结构体数组中的元素赋值,修改初始化时赋的值
//修改数组中第三个打工人的信息
worArray[2].number = 47;
worArray[2].age = 4;
worArray[2].post = "开发";
//4.遍历结构体数组
for (int i = 0; i < 3; i++)
{
cout << "工号:" << worArray[i].number
<< " 工龄:" << worArray[i].age
<< " 岗位职责:" << worArray[i].post << endl;
}
}
结果:
3.结构体指针
作用:通过指针来访问结构体中的成员
利用操作符->可以通过结构体指针访问结构体属性
示例:
#include <iostream>
#include <string>
using namespace std;
//1.创建打工人结构体
struct Worker
{
//成员列表
int number;
int age;
string post;
};
int main()
{
//2.创建打工人结构体变量
//struct可以省略
struct Worker w { 68, 3, "打螺丝帽" };
//3.通过指针指向结构体变量
Worker * p = &w;
//4.通过指针访问结构体变量中的数据,用“->”
cout << "工号:" << p->number << endl;
cout << "工龄:" << p->age << endl;
cout << "岗位职责:"<<p->post<< endl;
}
结果:
总结:c++中的结构体和c中的结构体差不多,几乎没什么区别,感觉学起来挺简单的,也很容易理解。