如何在结构体中嵌套另一个结构体?
时间: 2024-09-21 13:00:53 浏览: 72
c代码-C结构体04:基础、结构体中存放结构体
在C语言中,如果你需要在一个结构体中嵌套另一个结构体,只需在定义主结构体的时候,把子结构体作为成员添加即可。例如:
```c
// 定义外部结构体,可能包含个人信息
typedef struct PersonalInfo {
char name[50];
int age;
} PersonalInfo;
// 定义内部结构体,可能包含地址信息
typedef struct Address {
char street[50];
char city[50];
} Address;
// 现在我们可以创建一个包含个人和地址信息的结构体
typedef struct User {
PersonalInfo personal; // 嵌套了PersonalInfo结构体
Address address; // 另外一个嵌套的Address结构体
} User;
```
在这种情况下,`User`结构体中包含了`PersonalInfo`和个人地址`Address`两个结构体。你可以为每个`User`实例分配内存,并分别设置他们的个人信息和地址信息:
```c
User user1;
strcpy(user1.personal.name, "Alice");
user1.personal.age = 25;
strcpy(user1.address.street, "Main St.");
strcpy(user1.address.city, "New York");
```
阅读全文