结构体里的结构体,如何初始化
时间: 2023-11-02 12:02:33 浏览: 270
浅谈C语言中结构体的初始化
5星 · 资源好评率100%
要初始化一个结构体里的结构体,可以使用嵌套的方式进行初始化。具体步骤如下:
1. 首先,定义外层结构体类型和内层结构体类型。
2. 在外层结构体定义中,声明一个内层结构体变量。
3. 使用点操作符 `.` 访问内层结构体变量的成员,并对其进行赋值。
以下是一个示例代码:
```c
#include <stdio.h>
// 定义内层结构体类型
typedef struct {
int x;
int y;
} InnerStruct;
// 定义外层结构体类型
typedef struct {
int a;
InnerStruct b; // 声明内层结构体变量
} OuterStruct;
int main() {
// 初始化外层结构体和内层结构体
OuterStruct myStruct = {
.a = 10,
.b = {
.x = 20,
.y = 30
}
};
// 访问外层结构体和内层结构体的成员
printf("Outer struct a: %d\n", myStruct.a);
printf("Inner struct x: %d\n", myStruct.b.x);
printf("Inner struct y: %d\n", myStruct.b.y);
return 0;
}
```
输出结果:
```
Outer struct a: 10
Inner struct x: 20
Inner struct y: 30
```
阅读全文