1. 结构体基础概念与核心价值
结构体(struct)是C/C++语言中用于组织相关数据的复合数据类型,它允许将不同类型的数据项组合成一个逻辑单元。在实际开发中,结构体常用于表示具有多个属性的实体,比如学生信息(学号、姓名、成绩)、坐标点(x,y)或硬件寄存器(地址、值、状态位)等。
提示:结构体与类的区别在于默认访问权限(struct默认为public,class默认为private),且结构体通常用于纯数据聚合,不包含复杂行为。
结构体的核心优势体现在三个方面:
- 数据封装:将逻辑相关的数据项聚合在一起,提高代码可读性和维护性
- 内存效率:相比使用多个独立变量,结构体可以减少内存碎片
- 操作便利:可以通过指针或引用来整体传递复杂数据结构
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 结构体定义与声明规范
2.1 基本定义语法
c复制struct 结构体标签 {
数据类型 成员1;
数据类型 成员2;
// ...
} 变量名; // 此处可选的变量声明
典型示例(学生信息结构体):
c复制struct Student {
int id; // 学号
char name[20]; // 姓名
float score; // 成绩
}; // 注意分号不能省略
2.2 结构体变体形式
-
匿名结构体:省略标签名,直接声明变量
c复制struct { int x; int y; } point; // 只能通过point访问 -
typedef简化(推荐做法):
c复制typedef struct { int hour; int minute; int second; } Time; // 现在可以直接用Time声明变量 -
嵌套结构体:
c复制struct Date { int year; int month; int day; }; struct Employee {
