1
struct LoadsForAPDLScript
{
    double JntLCLoad;
    double JntPPLoad;
    double JntLimManLoad;
    double JntLimShockLoad;
    double JntOthLimTenLoad;
    double JntOthLimManLoad;
    double JntBPLoad;
    double JntUltManLoad;
    double JntUltShockLoad;
    double JntOthUltTenLoad;
    double JntOthUltManLoad;
};

有没有办法在一行中初始化上面提到的所有结构变量,而不是一一初始化?

4

2 回答 2

2

如果是 C++,空的构造函数会自动将所有简单数值类型的成员变量初始化为零。

struct LoadsForAPDLScript {
    ...
    LoadsForAPDLScript() {}
};

考虑到 C 兼容性,我不太确定隐式默认构造函数是否也会这样做。也许有人手头有 C++ 标准(或熟记于心),那么请扩展这个答案。

于 2012-06-19T08:40:04.327 回答
1

使用memset

LoadsForADPLScript instance;
memset(&instance, 0, sizeof(LoadsForADPScript));
于 2012-06-19T07:42:46.783 回答