<分区>
让我们在 C 或 C99 中假设以下内容:
typedef struct
{
int x;
double y;
} MY_S;
MY_S a[666] = {333, 666.6};
这是否只初始化数组的第一个对象?如果是,是否有一种方法可以使用该语法将数组的所有元素初始化为所有相同的值(无需调用函数/循环且无需重复初始化程序)?
<分区>
让我们在 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} };
关于c - 将 C 或 C99 中的结构数组初始化为所有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37597089/