在此页面我找到了以下代码:
//insert a new node in front of the list
void push(struct Node** head, int node_data)
{
/* 1. create and allocate node */
struct Node* newNode = new Node;
/* 2. assign data to node */
newNode->data = node_data;
/* 3. set next of new node as head */
newNode->next = (*head);
/* 4. move the head to point to the new node */
(*head) = newNode;
}
现在我想知道为什么第三行
*head
在括号里?
*head
和 (*head)
和有什么不一样?
*head 和 (*head) 和有什么不一样?
不需要
*head
周围的括号。您可以删除括号。其效果与括号相同。
通常,我们显式地在表达式两边加上括号,以规避/覆盖运算符优先级规则。
但是在你的例子中,有或没有括号没有区别.