我想初始化一個struct數組,但memset()的第二個參數需要一個int。有沒有另一個功能是相同的,但(void *)有第二個參數? 我想到了memcpy(),但它沒有在整個數組中設置值。任何想法?memset替代
的結構:
typedef struct {
int x;
int y;
char *data;
} my_stuff;
代碼:
my_stuff my_array[];
my_array = malloc(MAX * sizeof(my_stuff));
my_stuff *tmp;
tmp->x = -1;
tmp->y = 1;
strcpy(tmp->data = "Initial state");
memset(my_array, tmp, sizeof(my_array));
你到底需要一個'無效*'呢?具有非零參數的結構上的memset是相當罕見的... – Mehrdad 2011-04-19 03:10:17
嗯,我只是在尋找一個函數,不會將int作爲第二個參數。這樣我可以很容易地將我的結構作爲參數傳遞。我知道我可以用for循環做,但我想找到更直觀的方式來初始化數組。 – fabricemarcelin 2011-04-19 03:16:15
啊,我看到了......不幸的是,在C中沒有任何對你有幫助。:( – Mehrdad 2011-04-19 03:16:55