这是我的C代码,旨在制作n元素的链接列表"" n从键盘读取""构建是100%成功但是当出现执行错误消息并且程序停止工作时。
typedef struct maillon* ptr;
struct maillon {
int vale;
ptr adr;
};
ptr Allouer( ptr p )
{
return malloc( sizeof(struct maillon) );
}
void Aff_val( ptr p, int v )
{
p->vale= v;
}
void Aff_adr( ptr p, ptr q )
{
p->adr = q;
}
void main()
{
ptr debut, courant, fin;
int n, vale;
scanf("%d",&n);
Allouer(debut);
Aff_val(debut,5); //5 is a value that contains my 1st element
courant=debut;
for (int i=1;i<=n;i++)
{
Allouer(fin);
Aff_adr(courant,fin);
printf("enter the value");
scanf("%d",&vale);
Aff_val(fin,vale);
courant=fin;
}
Aff_adr(courant,NULL);
}
答案 0 :(得分:4)
问题出在
行<grid-layout ...></grid-layout>
未使用Allouer(debut);
返回的值。您不仅没有看到Allouer
设置为有效指针,而且程序也遭受内存泄漏。将其更改为:
debut
建议进一步改进。
debut = Allouer(debut);
不使用输入参数。删除它会更好。
Allouer
然后,它的用法可以改为:
ptr Allouer()
{
return malloc( sizeof(struct maillon) );
}