使用函数指针作为参数

时间:2013-02-27 02:53:38

标签: c pointers singly-linked-list

我正在尝试使用以下命令将节点添加到链接列表的前面:

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类型的,所以我确定我会得到一些不兼容的赋值错误。最好的方法是做什么?

1 个答案:

答案 0 :(得分:0)

Node *oldHead = list->head;
list->head = front;
front->next =oldHead;

存储旧头部,并将其分配给front->next

或者只是

front->next =list->head;
list->head = front;

就够了。