【C/C++ 学习笔记】结构体
视频地址: Bilibili
结构体定义
语法:struct 结构体名 { 结构体成员列表 }
c++
struct Student {
string name;
int age;
int score;
}
int main() {
struct Student stu1 = {
'heyq',
19,
100
};
}
结构体数组
struct 结构体名 数组名[元素格式] = { {}, {}, {}, ... };
c++
struct Student students[1] = {
{
'1',
1,
9
},
{
'2',
2,
100
}
};
结构体指针
利用操作符 -> 可以通过结构体指针访问结构体属性
c++
struct Student {
string name;
int age;
int score;
}
int main() {
// 创建结构体变量
struct Student stu1 = { 'heyq', 18, 100 };
// 创建结构体指针
struct Student *p = &stu1;
// 访问成员变量
cout << p->name << endl;
return 0;
}
结构体嵌套结构体
c++
struct Student {
string name;
int age;
int score;
}
struct Teacher {
string name;
int age;
struct Student *students;
}
结构体传参
- 值传递
c++
#include <iostream>
#include <string>
using namespace std;
struct Student {
string name;
}
void printStudent1(struct Student s) {
s.name = 'hjh';
cout >> s.name >> endl;
}
void printStudent2(struct Student *p) {
p->name = 'hjh';
cout >> p->name >> endl;
}
int main() {
struct Student s1 = { 'hyq' };
printStudent1(s1);
printStudent2(&s1);
cout << s1.name << endl;
return 0;
}
- 地址传递