有人可以解释一下吗?
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;
}
Run Code Online (Sandbox Code Playgroud)
这是一个通过C语言在链表中输入数据的代码.代码不完整,但我认为它足以达到目的.请解释基本上这些代码的编码:
temp=malloc(sizeof(struct node));
Run Code Online (Sandbox Code Playgroud)
和
temp->link = list;
list=temp;.
Run Code Online (Sandbox Code Playgroud)
malloc() 用于分配内存 - 在这种情况下用于新节点.
addbeg()代码中定义的函数执行以下操作:
x.%d代码scanf)并存储它x.x新分配节点的数据字段中的值.list' 指向的列表的旧"头"存储为新分配的节点中的链接.list' 中的列表的新头.它是整数链表(http://en.wikipedia.org/wiki/Linked_list)的一个非常基本的实现.