c - 将 C 或 C99 中的结构数组初始化为所有相同的值

标签 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} };

关于c - 将 C 或 C99 中的结构数组初始化为所有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37597089/

相关文章:

c - 从不同函数使用的结构指针

c - 查找和替换功能

c - 计算模 25 的高效(循环明智)算法?

c - 在 C 中使用字符串数组时出错

java - 需要帮助调试: Append two ArrayLists using Method - Java

c - 尝试从树(结构)中消除节点时遇到问题

c++ - 结构问题(C++)

c - 如何在C中正确引用?我似乎没捕获重点

c - 在 C 中为两个(一维)数组赋值

C++ 二维 vector 图