任何人都可以請解釋一下嗎?malloc()函數C
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;.
你可以有用地添加一個註釋,說明代碼應該最終確保每個分配的內存使用`free()`釋放,嘟about'內存泄漏'和'對於小型學習程序來說並不重要,長期跑步的人「,所以你也可以學習如何在小型學習課程上做到這一點。 – 2009-08-01 16:24:01
雖然他的程序無法正常工作,除非`list`和`temp`被傳遞給addbeg(),否則addbeg()被定義在main中。 – 2009-08-01 20:09:25