c++指针作为结构体参数
时间: 2023-08-16 13:14:27 浏览: 117
当我们将指针作为结构体参数传递时,我们可以通过指针来修改结构体的内容,而不是创建结构体的副本。这样可以节省内存空间,并且可以在函数中对结构体进行修改。
下面是一个示例:
```cpp
#include <iostream>
struct Point {
int x;
int y;
};
void modifyPoint(Point* p) {
p->x = 10;
p->y = 20;
}
int main() {
Point myPoint;
myPoint.x = 5;
myPoint.y = 15;
std::cout << "Before modification: ";
std::cout << "x = " << myPoint.x << ", y = " << myPoint.y << std::endl;
modifyPoint(&myPoint);
std::cout << "After modification: ";
std::cout << "x = " << myPoint.x << ", y = " << myPoint.y << std::endl;
return 0;
}
```
在上面的示例中,我们定义了一个名为`Point`的结构体,然后在`modifyPoint`函数中,我们使用指针来修改传递进来的结构体的值。在`main`函数中,我们创建了一个`myPoint`结构体对象,并将其传递给`modifyPoint`函数。
输出结果为:
```
Before modification: x = 5, y = 15
After modification: x = 10, y = 20
```
通过使用指针作为结构体参数,我们可以直接修改结构体的值,而不需要创建副本或返回新的结构体对象。这样可以提高程序的效率,并减少内存的使用。
阅读全文