C++ 函数返回结构体值
时间: 2023-11-14 19:18:10 浏览: 95
在 C 语言中,函数可以返回结构体值。具体实现可以通过以下两种方式之一:
1. 通过返回结构体变量的指针:函数返回一个指向结构体变量的指针,这个结构体变量可以在函数内部创建。这个指针可以用来访问结构体中的成员变量。例如:
```
struct Person {
char name[20];
int age;
};
struct Person* create_person() {
struct Person* p = malloc(sizeof(struct Person));
strcpy(p->name, "Tom");
p->age = 20;
return p;
}
int main() {
struct Person* p = create_person();
printf("Name: %s, Age: %d\n", p->name, p->age);
free(p);
return 0;
}
```
2. 通过返回结构体变量的值:函数返回一个完整的结构体变量,这个结构体变量可以在函数内部创建。这个方法比较简单,但是由于结构体通常比较大,因此会造成较大的开销。例如:
```
struct Person {
char name[20];
int age;
};
struct Person create_person() {
struct Person p;
strcpy(p.name, "Tom");
p.age = 20;
return p;
}
int main() {
struct Person p = create_person();
printf("Name: %s, Age: %d\n", p.name, p.age);
return 0;
}
```
无论哪种方式,都可以返回结构体值。选择哪种方式取决于具体情况。
阅读全文