如何在函数中传递一个结构体指针
时间: 2024-10-24 19:10:46 浏览: 28
C#调用C++动态库,执行回调函数并传递结构体参数
在C语言中,要在一个函数中传递结构体指针,首先你需要定义一个结构体类型,然后声明一个指向该结构体的变量或指针。当你想在函数间共享这个结构体时,就在函数签名中指定返回类型为结构体指针。
以下是一个简单的例子:
```c
// 定义结构体类型
struct Person {
char name[50];
int age;
};
// 声明结构体指针
struct Person* person_ptr;
// 创建结构体实例并将其地址赋给指针
struct Person person = {"John Doe", 30};
person_ptr = &person;
// 函数声明,接受结构体指针作为参数
void printPersonDetails(struct Person* ptr) {
printf("Name: %s, Age: %d\n", ptr->name, ptr->age);
}
// 调用函数,传递结构体指针
printPersonDetails(person_ptr); // 这里调用了打印函数,传入的是person的地址
```
在这个例子中,`printPersonDetails`函数接收一个`struct Person`类型的指针,可以直接通过`*ptr`访问指针所指向的结构体成员。
阅读全文