的陣列我有一個鏈表,其元素類型鏈表的指針焦炭
typedef struct List * News;
struct List
{
char * Text;
News NextN;
};
在主函數中的我聲明類型新聞的數組如下
News PTH[50];
for (i = 0; i < 50; i++)
{
PTH[i] = (News) malloc(sizeof(struct List));
PTH[i] -> Text = NULL;
PTH[i] -> NextN = NULL;
}
我在列表的開頭添加新節點與
if (PTH[i] -> Text == NULL)
PTH[i] -> Text = msg;
else
{
t -> Text = msg;
t -> NextN = PTH[i];
PTH[i] = t;
}
哪裏msg
是一個長度爲2000字符的陣列;並且,然後試圖打印由PTH[i] -> Text
apointed文本與
p = PTH[i];
if (p -> Text != NULL)
{
printf("%s", p -> Text);
p = p -> NextN;
}
while (p != NULL)
{
printf("%s", p -> Text);
p = p -> NextN;
}
}
這種算法只添加一個節點。錯誤是我如何定義PTH
,或者在如何將節點放入列表中時出現錯誤。
我們可以假設爲typedef的'News'是* *前的'List'結構定義,對不對?因爲按照書面,這不會編譯。此外,'sizeof(struct News)'?沒有'struct News',所以不會編譯。請以* compilable *形式發佈* real *代碼。 – WhozCraig
@WhozCraig,對不起,我編輯錯誤。他們不在我的計劃中。我的程序長200多行,用葡萄牙語,我可以發佈(其他部分工作正常)? –
@claptrap每個PTH [i]對應一個通訊社,節點是新聞,按到達時間組織。 –