C语言像函数传递结构体并修改结构体的值
时间: 2023-06-23 13:50:51 浏览: 162
C#调用C++动态库,执行回调函数并传递结构体参数
在C语言中,可以通过指针传递结构体,并在函数中修改结构体的值。下面是一个示例代码,演示了如何传递指向结构体的指针,并在函数中修改结构体的值:
```
#include <stdio.h>
typedef struct {
int x;
int y;
} Point;
void modifyPoint(Point* p) {
p->x = 10;
p->y = 20;
}
int main() {
Point myPoint = {1, 2};
printf("Before modification: (%d, %d)\n", myPoint.x, myPoint.y);
modifyPoint(&myPoint);
printf("After modification: (%d, %d)\n", myPoint.x, myPoint.y);
return 0;
}
```
在这个示例代码中,定义了一个Point结构体,包含了x和y两个成员变量。modifyPoint函数使用指针传递了一个Point结构体,并将其x和y成员变量分别修改为10和20。在main函数中,创建了一个名为myPoint的Point结构体,并将其地址传递给modifyPoint函数,使得modifyPoint函数可以直接修改myPoint结构体的值。最终,main函数打印了修改前后myPoint结构体的x和y值。
阅读全文