场景是我有嵌套的结构定义,我有一个10个这样的结构的数组.我想要的是用零初始化父结构和子结构的每个元素.代码如下:
struct PressureValues
{
float SetPressure;
float ReadPressure;
};
struct CalibrationPoints
{
float SetTemperature;
struct PressureValues PressurePoints[10];
};
extern volatile struct CalibrationPoints code IntakeCalibrationPoints[10];
extern volatile struct CalibrationPoints code DischargeCalibrationPoints[10];
Run Code Online (Sandbox Code Playgroud)
我知道使用循环零初始化每个结构元素的冗长方法,但我正在寻找一种将所有元素初始化为零的简短方法.或者什么是结构数组的默认初始化值(仅包含浮点数),是零还是任意随机值?
Pau*_*l R 11
volatile struct CalibrationPoints IntakeCalibrationPoints[10] = { { 0 } };
volatile struct CalibrationPoints DischargeCalibrationPoints[10] = { { 0 } };
Run Code Online (Sandbox Code Playgroud)
这会将所有元素初始化为零.
这样做的原因是,当您明确初始化数据结构的至少一个元素时,默认情况下,所有未指定初始化器的剩余元素将初始化为零.