如何在结构体中使用指向结构体的指针?
时间: 2024-03-24 17:32:49 浏览: 19
在结构体中使用指向结构体的指针可以通过以下步骤实现:
1. 定义一个结构体类型,其中包含一个指向该结构体类型的指针作为成员变量。
2. 在定义结构体变量时,为指向该结构体类型的指针分配内存空间。
3. 使用箭头运算符 -> 访问指向结构体的指针所指向的结构体的成员变量。
以下是一个示例代码:
```c++
#include <iostream>
using namespace std;
// 定义一个结构体类型
struct Person {
string name;
int age;
Person* spouse; // 指向该结构体类型的指针作为成员变量
};
int main() {
// 定义结构体变量
Person p1 = {"Tom", 20, NULL};
Person p2 = {"Lucy", 18, NULL};
// 为指向该结构体类型的指针分配内存空间
p1.spouse = &p2;
p2.spouse = &p1;
// 使用箭头运算符 -> 访问指向结构体的指针所指向的结构体的成员变量
cout << p1.name << "'s spouse is " << p1.spouse->name << endl;
cout << p2.name << "'s spouse is " << p2.spouse->name << endl;
return 0;
}
```
输出结果为:
```
Tom's spouse is Lucy
Lucy's spouse is Tom
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)