【发布时间】:2014-08-08 05:58:56
【问题描述】:
我有如下结构
typedef struct
{
int a;
int b;
int c;
} my_struct;
在另一个文件中,我声明了一个 my_struct 类型的变量,如下所示。
my_struct strct_arr[MAX];
其中MAX 是一个宏,它是一个可配置的值,是 18 的倍数(18 或 36 或 54 等等。它可能会上升到 18*n 次)。
我必须用 {0xff,0,0} 初始化结构。那么,如何使用我的初始值在不使用任何循环的情况下初始化整个结构数组 my_struct strct_arr[MAX];。
我期望输出如下:
my_struct strct_arr[MAX]={
{0xff,0,0},
{0xff,0,0},
{0xff,0,0},
{0xff,0,0},
…
};
但是不知道MAX的值,怎么初始化呢?
【问题讨论】:
-
如果 18、36 或 54 只是选项,那么我可能会写一些
#ifdefs。 -
@xmojmr 他的记忆模式排除了 memset。
-
@xmojmr 你能举例说明我们如何用
memset初始化上述结构吗?