函数返回结构体指针
一个函数可以返回一个结构体指针,就像返回一个普通指针一样。这可以通过声明函数的返回类型为结构体指针来实现。例如:
```。
#include <stdio.h>。
struct Person 。
char name[50];。sizeof结构体大小
int age;。
};。
struct Person* createPerson(char name[], int age) 。
struct Person *p = malloc(sizeof(struct Person));。
strcpy(p->name, name);。
p->age = age;。
return p;。
}。
int main() 。
struct Person *p = createPerson("John Doe", 30);。
printf("Person name: %s, age: %d\n", p->name, p->age);。
free(p);。
return 0;。
}。
```。
在上面的例子中,createPerson() 函数返回一个指向 Person 结构体的指针。该函数动态分配了一个 Person 对象,并将其成员设置为传递给该函数的参数。 这个指向结构体的指针最终通过 return 语句返回给调用者。
在 main() 函数中,我们声明了一个指向结构体的指针 p,该指针指向调用 createPerson() 函数的返回值。然后,我们打印结构体的成员,并释放动态分配的内存。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论