1 结构体
发布时间:
一、结构体定义
结构体于用户自定义的数据类型,允许用户存储不同的数据类型与java中的class 对象类似
语法:struct 结构体名 {结构体成员列表};
通过结构体创建变量的方式有三种:
- struct 结构体名 变量名
- struct 结构体名 变是名={成员1值,成员2值…}
- 定义结构体时顺便创建变
js
struct student
{
// 成员列表
string name; // 姓名
int age; // 年龄
int score; // 分数
} stu3; // 结构体变量创建方式3
int main()
{
// 结构体变量创建方式1
struct student stu1; // struct关键字可以省略
stu1.name = "张三";
stu1.age = 18;
stu1.score = 100;
cout << "姓名:" << stu1.name << "年齢:" << stu1.age << "分数:" << stu1.score << endl;
// 结构体变量创建方式2
struct student stu2 = {"李四", 19, 60};
cout << "姓名:" << stu2.name << "年齢:" << stu2.age << "分数:" << stu2.score << endl;
stu3.name = "张三";
stu3.age = 18;
stu3.score = 100;
cout << "姓名:" << stu3.name << "年齢:" << stu3.age << "分数:" << stu3.score << endl;
system("pause");
return 0;
}
总结1:定义结构体时的关键字是struct,不可省略
总结2:创建結构体变量时,关键字struct可以省略
总结3:结构体变量利用操作符"”访问成员
二、结构体数组
作用:将自定义的结构体放入到数组中方便维护
语法:struct 结构体名 数组名【元素个数】={ {},{}, ..}
示例:
js
// 结构体定义
struct student
{
// 成员列表
string name; // 姓名
int age; // 年龄
int score; // 分数
};
int main()
{
// 结构体变量创建方式1
// 結构体数组
struct student stuArray[3] = {{"张三", 18, 80}, {"李四", 19, 60}, {"四", 19, 60}};
// 给结构体数组赋值
stuArray[2].name = "赵六";
stuArray[2].age = 80;
stuArray[2].score = 60;
// 遍历结构体数组
for (int i = 0; i < 3; i++)
{
cout << "姓名:" << stuArray[i].name
<< "年龄:" << stuArray[i].age
<< "分数:" << stuArray[i].score << endl;
}
system("pause");
return 0;
}
三、结构体指针
作用:通过指针访问结构体中的成员
- 利用操作符 ->可以通过结构体指针访问结构体属性
示例:
js
// 结构体定义
struct student
{
// 成员列表
string name; // 姓名
int age; // 年龄
int score; // 分数
};
int main()
{
// 1 创建学生结构图变量
struct student s = {"张三", 18, 100};
// 2,通过指针指向结构体变量
student *p = &s;
// 通过指针访问结构体变量中的数据
cout << "姓名" << p->name << "年龄" << p->age << "分数" << p->score << endl;
system("pause");
return 0;
}
总结:结构体指针可以通过 ->操作符 来访问结构体中的成员