我在寫一個C程序,它使用一個整數數組,它是結構的一部分。結構是:語法錯誤:'{'
struct test
{
int *ques;
int a;
int b;
int len; // len is the length of the array defined in the structure as ques.
};
在此聲明之後我已經分配一個值到LEN作爲函數:
cases[0].len=5; // here cases is an array of the type struct test.
,然後我已經使用malloc
分配內存以陣列構件ques
如下:
cases[0].ques=(int *)malloc(cases[counter].len*sizeof(int));
之後我試圖填充數組ques
在如下:
cases[0].ques[5]={-7,-6,-5,-4,-3};
,並在編譯時我在上面的行指出,得到一個錯誤:
maxmin.c(47) : error C2059: syntax error : '{'
你能幫我嗎?
'cases [0] .ques [5] = { - 7,-6,-5,-4,-3};' - 你從哪裏得到這個想法是有效的C?即使是這樣,它也會試圖將5個值填入問題中[5] ......僅分配ques [0] ... ques [4]時。 –
@JimBalter:我會說'ques'的大小是'cases [counter] .len',它可能是或不可能是'5'。 –
一如既往:不要投射由'malloc'返回的指針。 –