【发布时间】:2022-01-17 22:35:14
【问题描述】:
在这里,我尝试创建一个链表并创建一个函数,它将任何给定的数字添加到链表的起始位置。
#include <stdio.h>
#include <stdlib.h>
struct Node{
int data;
struct Node* next;
};
struct Node* head=NULL;
void Add(int n){
head=(struct Node*)malloc(sizeof(struct Node));
head->data=n;
head->next=NULL;
return;
}
现在我的疑问是,这里我们将head 定义为数据类型struct Node 的指针变量。在Add函数中,我们已经分配了分配给head指针变量的新内存地址。
但是当我们写head->data=n的时候,为什么不先解引用head,因为head是一个指针变量,所以它存储地址,并且像存储数据一样存储变量,为什么不应该是@ 987654329@? *head->next=NULL 类似。
【问题讨论】:
标签: c pointers dereference