讲解 结构体初始化的语法
时间: 2023-07-21 16:19:59 浏览: 96
结构体初始化的语法可以有以下几种方式:
1. 声明结构体变量时,直接使用花括号 {} 初始化,按照结构体定义的顺序分别给成员赋值,例如:
```
struct Person {
char name[20];
int age;
};
Person person = {"Tom", 20};
```
2. 声明结构体变量时,使用点操作符 . 初始化成员,例如:
```
struct Person {
char name[20];
int age;
};
Person person;
person.name = "Tom";
person.age = 20;
```
3. 使用 C99 标准新增的初始化语法,即使用点操作符 . 和等号 = 初始化成员,例如:
```
struct Person {
char name[20];
int age;
};
Person person = {
.name = "Tom",
.age = 20
};
```
这种方式可以不按照结构体定义的顺序初始化成员,并且可以只给部分成员赋值,其他成员默认为 0。
4. 使用 C++11 引入的 uniform 初始化语法,即使用花括号 {} 初始化成员,例如:
```
struct Person {
char name[20];
int age;
};
Person person{ "Tom", 20 };
```
这种方式也可以不按照结构体定义的顺序初始化成员,并且可以只给部分成员赋值,其他成员默认为 0。
阅读全文