我有一个链表,其元素是类型
typedef struct List * News;
struct List
{
char * Text;
News NextN;
};
在主函数中,我声明了一个 News 类型的数组,如下所示
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 的 char 数组;然后尝试打印由PTH[i] -> Text
with指定的文本
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
或者我如何将节点放入列表中存在错误。