大家好,我是卷心菜。本篇主要讲解C++的结构体,如果您看完文章有所收获,可以三连支持博主哦~,嘻嘻。
🎁作者简介:在校大学生一枚,Java领域新星创作者,Java、Python正在学习中。
🍂日常学习网站:牛客网,可以用来刷算法题、工作内推、面经复习、练习SQL等等,很不错的多功能网站。点击注册学习刷题吧!
📕自我提醒:多学多练多思考,编程能力才能节节高!
语法:
struct 结构体名 { 结构体成员列表 };通过结构体创建变量的方式有三种:
代码演示:
// 定义结构体变量方式三
struct student
{
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
} stu3;
int main() {
// 定义结构体变量方式一
struct student stu1; //struct 关键字可以省略
stu1.name = "张三";
stu1.age = 18;
stu1.score = 100;
cout << "姓名:" << stu1.name << " 年龄:" << stu1.age << " 分数:" << stu1.score << endl;
// 定义结构体变量方式二
struct student stu2 = { "李四",19,60 };
cout << "姓名:" << stu2.name << " 年龄:" << stu2.age << " 分数:" << stu2.score << endl;
stu3.name = "王五";
stu3.age = 18;
stu3.score = 80;
cout << "姓名:" << stu3.name << " 年龄:" << stu3.age << " 分数:" << stu3.score << endl;
return 0;
}
运行结果:
小总结:
语法:
struct 结构体名 数组名[元素个数] = { {}, {}, {} … };代码演示:
struct student
{
string name;
int age;
int score;
};
int main() {
//结构体数组
struct student arr[3] =
{
{"张三",18,80 },
{"李四",19,60 },
{"王五",20,70 }
};
for (int i = 0; i < 3; i++)
{
cout << "姓名:" << arr[i].name << " 年龄:" << arr[i].age << " 分数:" << arr[i].score << endl;
}
return 0;
}
运行结果:
作用:
通过指针访问结构体中的成员->
可以通过结构体指针访问结构体属性代码举例:
struct student
{
string name;
int age;
int score;
};
int main() {
struct student stu = { "张三",18,100, };
struct student* p = &stu;
p->score = 80; //指针通过 -> 操作符可以访问成员
cout << "姓名:" << p->name << endl << "年龄:" << p->age << endl << "分数:" << p->score << endl;
return 0;
}
运行结果:
作用: 结构体中的成员可以是另一个结构体
例如: 每个老师辅导一个学员,一个老师的结构体中,记录一个学生的结构体
代码演示:
struct student
{
string name;
int age;
int score;
};
struct teacher
{
int id;
string name;
int age;
struct student stu;
};
int main() {
struct teacher t1;
t1.id = 10000;
t1.name = "老王";
t1.age = 40;
t1.stu.name = "张三";
t1.stu.age = 18;
t1.stu.score = 100;
cout << "教师 职工编号: " << t1.id << " 姓名: " << t1.name << " 年龄: " << t1.age << endl;
cout << "辅导学员 姓名: " << t1.stu.name << " 年龄:" << t1.stu.age << " 考试分数: " << t1.stu.score << endl;
return 0;
}
运行结果:
感谢阅读,一起进步,嘻嘻~