C和C ++:自动结构的部分初始化
例如,如果somestruct有三个整数成员,我一直认为可以在C(或C ++)函数中执行此操作: somestruct s = {123,}; 第一个成员将初始化为123,后两个成员将初始化为0。我经常对自动数组执行相同的操作,编写 int arr[100] = {0,};该函数,以便将数组中的所有整数都初始化为零。 最近,我读了《GNU C参考手册》中: 如果不初始化结构变量,则效果取决于它是否具有静态存储(请参见存储类说明符)。如果是,则将整数类型的成员初始化为0,将指针成员初始化为NULL;否则,将其初始化为NULL。否则,结构成员的值是不确定的。 有人可以告诉我有关部分自动结构和自动数组初始化的C和C ++标准怎么说?我在Visual Studio中完成上面的代码没有问题,但是我想与gcc / g ++以及其他编译器兼容。谢谢