1 结构体基本概念
结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
2 结构体定义和使用
语法:struct 结构体名 { 结构体成员列表 };
通过结构体创建变量的方式有三种:
- struct 结构体名 变量名
- struct 结构体名 变量名 = { 成员1值 , 成员2值... }
- 定义结构体时顺便创建变量
示例:
//结构体定义
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 << "姓名:" << stu2.name << "年龄:" << stu2.age << "分数:" << stu2.score << endl;
//结构体变量创建方式2
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;
system("pause");
return 0;
}
总结1:定义结构体时的关键字是stuct,不可省略
总结2:创建结构体变量时,关键字struct可以省略
总结3:结构体利用操作符"."访问成员
3 结构体数组
作用:将自定义的结构体放入到数组中方便维护
语法:struct 结构体名 数组名[元素个数] = { {},{},{}, ... {} }
示例:
//结构体定义
struct student
{
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
}
int main() {
//结构体数组
struct student stuArr[3]=
{
{"张三", 18, 80},
{"李四", 19, 60},
{"王五", 18 ,100}
};
//给结构体数组中的元素赋值
stuArr[2].name = "赵六";
stuArr[2].age = 80;
stuArr[2].score = 60;
//遍历结构体数组
for (int i = 0; i < 3; i++)
{
cout << "姓名:" << stuArr[i].name
<< "年龄:" << stuArr[i].age
<< "分数:" << stuArr[i].score << endl;
}
system("pause");
return 0;
}
4 结构体指针
作用:通过指针访问结构体中的成员
- 利用操作符->可以通过结构体指针访问结构体属性
示例:
//结构体定义
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 << "年龄:" << p->age << "分数:" << p->score << endl;
system("pause");
return 0;
}
总结:结构体指针可以通过->操作符来访问结构体中的成员
——未完待续——