c++有结构体指针吗
时间: 2024-06-15 15:05:34 浏览: 115
是的,C++支持结构体指针。结构体指针是指向结构体的指针,可以用来访问结构体中的成员变量和成员函数。
要声明一个结构体指针,需要使用结构体类型的定义加上一个指向指针的指针符号。例如,假设有一个名为`Student`的结构体,可以声明一个指向`Student`类型的指针`pStudent`,如下所示:
```c++
struct Student {
char name[50];
int age;
};
Student* pStudent; // 声明一个指向Student类型的指针pStudent
```
通过结构体指针,可以访问结构体中的成员变量和成员函数。例如,可以通过指针访问结构体中的成员变量`name`和`age`,如下所示:
```c++
pStudent->name = "John Doe"; // 访问结构体中的成员变量name
int age = pStudent->age; // 访问结构体中的成员变量age
```
还可以使用结构体指针来创建动态内存分配,例如使用`new`运算符分配内存并返回指向新分配对象的指针。例如:
```c++
Student* pStudent = new Student; // 分配内存并返回指向新分配对象的指针pStudent
```
需要注意的是,结构体指针在使用完毕后需要释放内存以避免内存泄漏。可以使用`delete`运算符来释放内存,例如:
```c++
delete pStudent; // 释放分配给pStudent的内存
```
以上是关于C++中结构体指针的一些基本介绍,希望能够对您有所帮助。
阅读全文