【入门级-C++程序设计:10、结构体与联合体--结构体】

结构体是C++中一种用户自定义的复合数据类型,它允许将不同类型的数据组合在一起。

1、基本语法
struct 结构体名 {
数据类型 成员1;
数据类型 成员2;
};
成员访问:使用点运算符(.)访问成员
初始化:可以使用花括号初始化列表

2、声明结构体变量
定义结构体后,可以像使用基本类型一样声明变量:
// 方法1:先定义结构体,再声明变量
struct Student {
string name;
int age
float score;
}
Student s1, s2;

// 方法2:定义结构体的同时声明变量
struct Teacher {
string name;
int id;
} t1, t2;

3、访问结构体成员
使用 点运算符(.) 访问结构体变量的成员:
#include
#include
using namespace std;
struct Student {
string name;
int age;
float score;
};

int main() {
Student s; // 声明结构体变量
// 给成员赋值
s.name = “张三”;
s.age = 18;
s.score = 95.5f;
// 访问成员并输出
cout << “姓名:” << s.name << endl;
cout << “年龄:” << s.age << endl;
cout << “成绩:” << s.score << endl;
return 0;
}

4、结构体初始化
可以在声明变量时直接初始化结构体成员:
// 方式1:按顺序初始化(需与结构体成员顺序一致)
Student s1 = {“李四”, 19, 88.0f};

// 方式2:C++11 起支持的成员名初始化(更清晰)
Student s2 = {
.name = “王五”,
.age = 20,
.score = 92.5f
};

5、结构体的高级用法
(1)结构体数组
可以创建结构体类型的数组,存储多个同类型的结构体数据:
Student class1[3] = {
{“赵六”, 18, 90.0f},
{“孙七”, 19, 85.5f},
{“周八”, 18, 93.0f}
};

// 访问数组中的结构体成员
cout << class1[0].name << endl; // 输出 “赵六”
(2)结构体指针
使用指针指向结构体,通过 箭头运算符(->) 访问成员:
Student s = {“吴九”, 20, 89.0f};
Student* p = &s; // 指针指向结构体变量
cout << p->name << endl; // 等价于 (*p).name
cout << p->age << endl;

(3)结构体嵌套
结构体中可以包含其他结构体作为成员:
// 定义表示日期的结构体
struct Date {
int year;
int month;
int day;
};

// 定义包含日期的结构体
struct Person {
string name;
Date birthday; // 嵌套结构体
};

// 使用嵌套结构体
Person p = {
“郑十”,
{2000, 5, 15} // 初始化嵌套的Date成员
};
cout << p.birthday.year << endl; // 输出 2000

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papership

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值