2016 - 2024

感恩一路有你

c语言创建一个链表 C语言中,建立动态单向链表,能帮我解释清楚,里面的原理吗,什么p1指向P2之类的?

浏览量:1749 时间:2021-03-10 19:42:49 作者:admin

C语言中,建立动态单向链表,能帮我解释清楚,里面的原理吗,什么p1指向P2之类的?

P1=(struct studinf*)malloc(sizeof(struct studinf))

表示打开一段struct studinf大小的内存空间,并将该空间的第一个地址分配给P1

head=p1p2=P1//P2指向第一个空间

将指向P1的空间地址分配给P2

P2->next=P1//在这种情况下,P1指向第二个空格opened

是连接两个空格的语句,通过*next指针连接;

将P1的值赋给P2的next,这样节点P1之后的next就可以访问P2;

这实现了两个节点的连接

首先,头指针不能丢失,需要保存。P1从head指针得到head节点后,检查指向当前节点的下一个节点是否为空,判断是否为tail节点。如果不是尾部节点,或者当前节点的下一个节点不为空,则会将P1分配给该下一个节点,以在链表中查找下一个节点,并且P1会在开始时分配给该下一个节点,存储的头指针将被清除,因此P1在操作后不能用作链头指针。第二,当生成一个新节点时,它将通过new或malloc应用空间,其返回值是指针。此时,通常使用指针变量P2来接收指针,然后将列表尾部节点的下一个分配给P2的内容,并且将P2指向的下一个分配给null以成为尾部节点。最后,如果需要在链表中插入,则需要一个指针P1指向当前节点,另一个P2指向当前节点之后的节点,然后将P1的下一个值赋给新节点指针,将新节点指针的下一个值赋给P2以完成插入。一般来说,所谓P1和P2是临时辅助变量,为方便起见,它们是中间变量。不需要保存为方便而应用的作业变量。

c语言创建一个链表 c语言单向链表逆序 c语言链表详解

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。