C语言结构体初始化的几种方法
一、介绍结构体作为数据结构的基础,经常使用,其中初始化也有几种方法,这里详细介绍二、常规初始化(先定义再初始化)typedef struct {int bandrate;int databits;int stopbits;int parity;int dtr;}serial_hard_config_def;serial_hard_config_def serial;serial.bandrate
文章共383字 · 阅读需要大约2分钟
一键AI生成摘要,助你高效阅读
问答
·
一、介绍
结构体作为数据结构的基础,经常使用,其中初始化也有几种方法,这里详细介绍
二、常规初始化(先定义再初始化)
typedef struct {
int bandrate;
int databits;
int stopbits;
int parity;
int dtr;
}serial_hard_config_def;
serial_hard_config_def serial;
serial.bandrate = 115200;
serial.databits = 8;
serial.stopbits = 1;
serial.parity = 0;
serial.dtr = 0;
三、定义的同时初始化
1、顺序初始化
typedef struct {
int bandrate;
int databits;
int stopbits;
int parity;
int dtr;
}serial_hard_config_def;
serial_hard_config_def serial = {
115200,
8,
1,
0,
0
};
2、乱序初始化
typedef struct {
int bandrate;
int databits;
int stopbits;
int parity;
int dtr;
}serial_hard_config_def;
serial_hard_config_def serial = {
.dtr = 0,
.bandrate = 115200,
.databits = 8,
.stopbits = 1,
.parity = 0,
};
3、结构体数组初始化
typedef struct {
int bandrate;
int databits;
int stopbits;
int parity;
int dtr;
}serial_hard_config_def;
serial_hard_config_def serial[2] = {
[0] = {
.dtr = 0,
.bandrate = 115200,
.databits = 8,
.stopbits = 1,
.parity = 0,
},
[1] = {
.dtr = 0,
.bandrate = 115200,
.databits = 8,
.stopbits = 1,
.parity = 0,
}
};
4、嵌套结构体初始化
typedef struct {
int bandrate;
int databits;
int stopbits;
int parity;
int dtr;
}serial_hard_config_def;
typedef struct {
serial_hard_config_def hardware;
int model;
}serial_config_def;
serial_config_def serial_config = {
{
.dtr = 0,
.bandrate = 115200,
.databits = 8,
.stopbits = 1,
.parity = 0,
},
.model = 1
}
5、嵌套结构体数组初始化
typedef struct {
int bandrate;
int databits;
int stopbits;
int parity;
int dtr;
}serial_hard_config_def;
typedef struct {
serial_hard_config_def hardware;
int model;
}serial_config_def;
serial_config_def serial_config[2] = {
[0] = {
{
.dtr = 0,
.bandrate = 115200,
.databits = 8,
.stopbits = 1,
.parity = 0,
},
.model = 1,
},
[1] = {
{
.dtr = 0,
.bandrate = 115200,
.databits = 8,
.stopbits = 1,
.parity = 0,
},
.model = 1,
}
}
更多推荐
已为社区贡献9条内容
所有评论(0)