Sil*_*cer 5 c arrays struct initialization c99
让我们在C或C99中假设以下内容:
typedef struct
{
   int x;
   double y;
} MY_S;
MY_S a[666] = {333, 666.6};
这是否仅初始化数组的第一个对象?如果是,是否有一种方法可以使用该语法将数组的所有元素初始化为所有相同的值(无需调用函数/循环,而无需重复初始化程序)?
在标准 C 中,您需要重复初始化程序。在 GCC 中,您可以指定要使用相同初始值设定项初始化的元素范围,例如:
MY_S a[666] = { [0 ... 665] = {333, 666.0} };