在C++结构体中,利用指针指向数组中的每一个元素
时间: 2024-10-15 11:12:29 浏览: 21
详解C++中的指针结构体数组以及指向结构体变量的指针
5星 · 资源好评率100%
在 C++ 中,结构体(struct)是一种用户自定义的数据类型,可以包含不同类型的数据成员。如果你想通过指针访问结构体数组中的每个元素,你可以创建结构体类型的指针,并将其初始化为数组的第一个元素的地址。
例如,假设有一个名为 `Person` 的结构体,包含姓名和年龄:
```cpp
struct Person {
std::string name;
int age;
};
```
如果你有一个 `Person` 类型的数组,叫做 `people`,你可以这样做:
```cpp
Person people[] = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 35}};
// 创建结构体指针并指向第一个元素
Person* ptr = &people[0];
// 通过指针遍历数组并访问每个元素
for (size_t i = 0; i < sizeof(people) / sizeof(people[0]); i++) {
std::cout << "Name: " << ptr->name << ", Age: " << ptr->age << std::endl;
// 移动指针到下一个元素
ptr++; // 等价于 ptr = ptr + sizeof(Person);
}
```
在这里,`ptr->name` 和 `ptr->age` 就分别用于访问数组中对应元素的姓名和年龄。
阅读全文