让我们在C或C99中假设如下:
typedef struct
{
int x;
double y;
} MY_S;
MY_S a[666] = {333, 666.6};
这是否只初始化数组的第一个对象?如果是,是否有一种方法可以使用该语法将数组的所有元素初始化为所有相同的值(不调用函数/循环,也不重复初始化程序)?
发布于 2016-06-02 16:29:40
这将初始化第一个结构,其他所有内容都为零。
请参见ANSI C89 3.5.7初始化:
..。 浮子z4 ={{1 },{2 },{3 },{4 }; 按照指定的方式初始化z的第一列,用零初始化其余列。 ..。
不幸的是,如果不对数组进行循环、调用memset
或任何其他方法,就无法初始化数组。
https://stackoverflow.com/questions/37597089
复制相似问题