目录
结构体的定义和使用
#include<iostream>
#include<cstring>
using namespace std;
struct Student
{
string name;
int age;
int score;
}s3;
int main()
{
//struct关键字可以省略
Student s1;
s1.name = "zhangsan";
s1.age = 18;
s1.score = 100;
cout << s1.name << ' ' << s1.age << ' ' << s1.score << endl;
struct Student s2 = { "lisi",19,80 };
cout << s2.name << ' ' << s2.age << ' ' << s2.score << endl;
s3.name = "wangwu", s3.age = 20, s3.score = 60;
cout << s3.name << ' ' << s3.age << ' ' << s3.score << endl;
return 0;
}
结构体数组
#include<iostream>
#include<cstring>
using namespace std;
struct Student
{
string name;
int age;
int score;
};
int main()
{
struct Student stuArray[3] =
{
{"张三",18,100},
{"李四",19,90},
{"王五",20,100}
};
stuArray[2].name = "董6";
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;
}
return 0;
}
结构体指针
#include<iostream>
#include<cstring>
using namespace std;
struct Student
{
string name;
int age;
int score;
};
int main()
{
struct Student s = { "zhangsan",18,100 };
struct Student * p = &s;
cout << "name:" << p->name << " age:" << p->age << " score:" << p->score;
return 0;
}
结构体嵌套结构体
#include<iostream>
#include<cstring>
using namespace std;
struct student
{
string name;
int age;
int score;
};
struct teacher
{
int id;
string name;
int age;
struct student stu;
};
int main()
{
teacher t;
t.id = 10000;
t.name = "laowang";
t.age = 50;
t.stu.age = 18;
t.stu.score = 90;
t.stu.name = "zhangsan";
cout << "老师姓名:" << t.name << " 老师编号:" << t.id << " 老师年龄:" << t.age << endl;
cout << "学生姓名:" << t.stu.name << " 学生分数:" << t.stu.score << " 学生年龄" << t.stu.age << endl;
return 0;
}