结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。
1.结构体的定义和使用
语法:struct 结构体名 {结构成员列表};
通过结构体创建变量的方式有三种:
(1)结构体名 变量名;
(2)结构体名 变量名 = {成员1值,成员2值,……};
(3)定义结构体时顺便创建变量
//创建学生数据类型,包括学生的姓名,年龄,分数
struct Student
{
string name;
int age;
int score;
}
//(1)结构体名 变量名;
Student s1;
//给s1属性赋值
s1.name = "张三";
s1.age = 18;
s1.score = 100;
//(2)结构体名 变量名 = {成员1值,成员2值,……};
Student s2 = { "李四",19,80 };
2.结构体数组
语法:结构体名 {{ },{ },{ },……};
示例
#include <iostream>
using namespace std;
struct Student
{
string name;
int age;
int score;
};
int main()
{
Student s[2] = { { "张三",18,100 },{"李四",19,80}};
for (int i=0; i < 2; i++)
{
cout << "姓名:" << s[i].name << endl;
cout << "年龄:" << s[i].age << endl;
cout << "分数:" << s[i].score << endl;
}
system("pause");
return 0;
}
运行结果
姓名:张三
年龄:18
分数:100
姓名:李四
年龄:19
分数:80
3.结构体指针
//创建结构体变量
Student s = { "张三",18,100 };
//通过指针指向结构体变量
Student* p = &s;
//通过指针访问结构体变量中的数据,需要用‘->’
cout << "姓名:" << p->name << endl;
cout << "年龄:" << p->age << endl;
cout << "分数:" << p->score << endl;