结构体
结构体基本概念
结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
结构体定义和使用(filename35)
语法:struct 结构体名{结构体成员列表};
通过结构体创建变量的方式有三种:
struct 结构体名 变量名
struct 结构体名 变量名 = {成员1值,成员2值....}
定义结构体时顺便创建变量
总结
定义结构体的关键字struct不可以省略 创建结构体变量时关键字struct可以省略 结构体变量利用操作符"." 访问成员
结构体数组(filename36)
作用:将自定义的结构体放入数组中到数组中方便维护
语法:struct 结构体名 数组名[元素个数]={{},{},....}
s1arr[0].name
结构体指针(filename37)
作用:通过指针访问结构体中的成员
利用操作符->可以通过结构体指针访问结构体属性
p9->age = 22;
结构体嵌套结构体(filename38)
truct Student {
string name;
};
struct teacher{
string name;
int age;
int score;
struct Student s1 ;
};
int main() {
teacher t;
t.s1.name;
结构体做函数参数(filename39)
作用:将结构体作为参数向函数中传递
传递方式
值传递
地址传递
结构体中const使用场景(filename40)
作用:用const来防止误操作
结构体案例
知道数组 结构体 怎么用
通讯管理系统
通讯管理系统
类型 | 是否必须先定义 | 是否必须初始化 | 备注 |
---|---|---|---|
结构体类型 | ✅ 必须 | ❌ 不需要 | 定义类型,不分配内存 |
结构体变量 | ✅ 必须 | ⚠️ 建议 | 未初始化包含垃圾值 |
结构体数组 | ✅ 必须 | ⚠️ 建议 | 可部分初始化 |
指针 | ❌ 不需要 | ✅ 必须 | 未初始化指针很危险 |
函数 | ✅ 必须 | ❌ 不需要 | 需要声明或定义 |