[英]Using a function pointer as parameter
我正在嘗試使用以下命令將節點添加到鏈表的前面:
struct Node *addFront(struct List *list, void *data) {
到目前為止,我有以下內容:
struct Node *front = (struct Node *) malloc(sizeof(struct Node)){
if(front == NULL) {
return NULL;
}
front->data = data;
if(list->head == 0) {
list->head = front;
front->next = NULL;
}
else {
list->head = front;
*front->next =*
}
return front;
}
如果添加的節點不是要創建的第一個節點,我會感到困惑……我想說些類似的東西:front-> next = list; 但是list是List類型的,所以我確定會遇到一些不兼容的賦值錯誤..什么是最好的方法?
Node *oldHead = list->head;
list->head = front;
front->next =oldHead;
存放舊的頭部,並將其分配給front->next
。
要不就
front->next =list->head;
list->head = front;
就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.