的阵列我有一个链表,其元素类型链表的指针焦炭
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]对应一个通讯社,节点是新闻,按到达时间组织。 –