结构体数组的基础知识
结构体数组通过组合数据+批量管理的特性,广泛应用于学生管理、游戏角色属性存储等场景。
常见问题
- 数组越界:静态数组长度固定,超过数组长度的访问,会导致未定义行为。
- 未初始化成员:局部结构体数组若不初始化,成员可能为随机值。
- 指针操作错误:使用结构体指针时需注意内存偏移量。
格式
结构体定义格式
struct 结构体名称{// 成员
};
结构体数组格式
结构体名称 数组名[元素数量] = {{},{},{},...};
结构体数组的定义与使用
- 代码
#include <iostream> #include <string> using namespace std;// 1. 结构体定义 // struct 结构体名 { 结构体成员变量列表 }; struct Book {string name;double price;int value; }cpp;int main() {// 2. 创建一个结构体数组// Book 数组名[元素个数] = {{},{},{},...};Book books[3] = {{"三国演义",59.99,7},{"水浒传",69.99,9},{"红楼梦",79.99,100}};books[2].name = "西游记";for (int i = 0; i < 3; ++i) {cout << books[i].name << ' ' << books[i].price << ' ' << books[i].value << endl;}return 0; }
- 运行
三国演义 59.99 7 水浒传 69.99 9 西游记 79.99 100