指针式指针

问题描述 投票:0回答:1

我有结构化的用户

struct User
{
    char login[LOG_IN]; 
    char password_hash[PASS_IN]; 
    struct User* next; 
};

我有一个可能改变参数指针的函数。

void deleteFirstUser(User** head)
{
    //something like
    *head = *head->next;
}

它如何工作?

c pointers
1个回答
0
投票

删除第一个用户 head 元素,你需要:1)将一个临时指针分配到下一个元素的 head 2) 免费电话 head 3) 分配 head 临时指针

编码

void deleteFirstUser(User **head){
    User *tmp;
    tmp=(*head)->next;
    free(*head);
    (*head)=tmp;
    return;
}
© www.soinside.com 2019 - 2024. All rights reserved.