c++结构体数组
时间: 2025-04-27 14:26:55 浏览: 28
### 定义和使用结构体数组
在C++中,可以先定义一个结构体类型,之后创建该类型的数组来存储多个相同结构的数据项。下面是一个简单的例子说明如何实现这一点。
#### 创建结构体并声明其数组
首先定义一个名为`Person`的结构体,它包含两个成员:一个是字符串类型的`name`用于保存名字;另一个是整型的`age`表示年龄[^1]:
```cpp
#include <string>
struct Person {
std::string name;
int age;
};
```
接着可以通过指定大小的方式来声明这个结构体类型的数组。这里假设要创建一个能容纳三个`Person`实例的数组:
```cpp
int main() {
const size_t numPeople = 3;
Person people[numPeople];
}
```
#### 初始化结构体数组
可以直接通过列表初始化的方式给每个元素赋初值。这一步可以在声明的同时完成或者单独执行:
```cpp
// 声明时初始化
Person people[] = {{"Alice", 30}, {"Bob", 25}, {"Charlie", 35}};
// 或者分别设置各个字段的值
people[0].name = "David";
people[0].age = 40;
people[1].name = "Eve";
people[1].age = 28;
people[2].name = "Frank";
people[2].age = 37;
```
#### 访问结构体数组中的元素
一旦有了这样的数组,就可以像访问普通数组一样遍历它们,并读取或修改其中任意位置上的对象属性:
```cpp
for (size_t i = 0; i < sizeof(people)/sizeof(Person); ++i){
std::cout << "Name: " << people[i].name
<< ", Age: " << people[i].age << '\n';
}
```
上述代码片段展示了基本的操作模式——即如何定义、初始化以及操作由自定义结构组成的数组。对于更复杂的应用场景,则可能涉及到动态内存分配或是利用标准模板库(STL),比如`std::vector<Person>`等容器类来进行管理[^2]。
阅读全文
相关推荐

















