用构造函数初始化结构体
时间: 2024-03-24 20:16:22 浏览: 64
在C语言中,可以使用构造函数初始化结构体。下面是一个示例:
```c
#include <stdio.h>
// 定义一个结构体
struct Person {
char name[20];
int age;
};
// 定义一个构造函数
struct Person createPerson(char name[], int age) {
struct Person p;
strcpy(p.name, name);
p.age = age;
return p;
}
int main() {
// 使用构造函数初始化结构体
struct Person p1 = createPerson("Tom", 20);
struct Person p2 = createPerson("Jerry", 18);
// 输出结果
printf("Name: %s, Age: %d\n", p1.name, p1.age);
printf("Name: %s, Age: %d\n", p2.name, p2.age);
return 0;
}
```
输出结果:
```
Name: Tom, Age: 20
Name: Jerry, Age: 18
```
在上面的示例中,我们定义了一个结构体`Person`,它有两个成员变量`name`和`age`。然后,我们定义了一个构造函数`createPerson`,它接收两个参数`name`和`age`,并返回一个初始化后的结构体`Person`。最后,在`main`函数中,我们使用构造函数初始化了两个结构体`p1`和`p2`,并输出了它们的成员变量`name`和`age`。
阅读全文