C中*head和(*head)指针之间的差异

Rah*_*ddy 3 c pointers head

以下是示例代码,而不是工作代码.我只想知道C中指针*head(*head)指针之间的区别.

int  insert(struct node **head, int data) {

      if(*head == NULL) {
        *head = malloc(sizeof(struct node));
        // what is the difference between (*head)->next and *head->next ?
        (*head)->next = NULL;
        (*head)->data = data;
    }
Run Code Online (Sandbox Code Playgroud)

sim*_*onc 6

*优先级低于->

*head->next
Run Code Online (Sandbox Code Playgroud)

相当于

*(head->next)
Run Code Online (Sandbox Code Playgroud)

如果要取消引用head,则需要将取消引用运算符*放在括号内

(*head)->next
Run Code Online (Sandbox Code Playgroud)

  • *(头) - >接下来呢?(*头) - >下! (2认同)