有人可以解释一下吗?
struct node { int data; struct node * link; } main() { struct node *p, *list, *temp; list = p = temp = NULL; ......................... ......................... } addbeg() { int x; temp=malloc(sizeof(struct node)); scanf("%d", &x); temp->data=x; temp->link = list; list=temp; }
这是一个通过C语言在链表中输入数据的代码.代码不完整,但我认为它足以达到目的.请解释基本上这些代码的编码:
temp=malloc(sizeof(struct node));
和
temp->link = list; list=temp;.
Amber.. 9
malloc()
用于分配内存 - 在这种情况下用于新节点.
addbeg()
代码中定义的函数执行以下操作:
定义临时变量x
.
为新节点分配空间.
输入一个整数(%d
代码scanf
)并存储它x
.
存储保存到x
新分配节点的数据字段中的值.
将变量' list
' 指向的列表的旧"头"存储为新分配的节点中的链接.
将新节点设置为存储在变量' list
' 中的列表的新头.
它是整数链表(http://en.wikipedia.org/wiki/Linked_list)的一个非常基本的实现.
malloc()
用于分配内存 - 在这种情况下用于新节点.
addbeg()
代码中定义的函数执行以下操作:
定义临时变量x
.
为新节点分配空间.
输入一个整数(%d
代码scanf
)并存储它x
.
存储保存到x
新分配节点的数据字段中的值.
将变量' list
' 指向的列表的旧"头"存储为新分配的节点中的链接.
将新节点设置为存储在变量' list
' 中的列表的新头.
它是整数链表(http://en.wikipedia.org/wiki/Linked_list)的一个非常基本的实现.