我想分配內存指針結構數組,但它給了我一個奇怪的錯誤。下面的代碼:錯誤分配指針數組結構
struct command{
int type;
char* input;
char* output;
struct command *command[2];
}
當我嘗試了數組大小2分配內存時,我嘗試:
temp->command = (command*)malloc(sizeof(struct command[2]));
不過,我得到這個錯誤:
incompatible types when assigning to type âstruct command *[2]â from type âstruct command *â
什麼建議嗎?
'temp-> command [0] = ...'和'temp-> command [1] = ...' –
'command'成員不是指向結構數組的指針,它是一個數組兩個指向結構的指針。 –
你想做什麼?創建一個2元素的命令數組或者一個2元素的指向數組的指針?在任何情況下,爲了使malloc滿足當前結構定義,您需要像這樣進行演員製作:(command **) –