以下是示例代码,而不是工作代码.我只想知道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)
*优先级低于->此
*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)