p->next = q 表示将 p 指针所指向的结构体的 next 指针指向 q 所指向的结构体。
p = q 表示将指针 p 指向 q 所指向的结构体。
下面是一个示例代码,可以帮助理解两者的区别:
struct Node {
int data;
struct Node* next;
};
int main() {
struct Node* p = malloc(sizeof(struct Node));
struct Node* q = malloc(sizeof(struct Node));
p->data = 1;
q->data = 2;
p->next = NULL;
q->next = NULL;
// 将 p 指针所指向的结构体的 next 指针指向 q 所指向的结构体
p->next = q;
// 将 p 指针指向 q 所指向的结构体
p = q;
return 0;
}