我们首先来试试下一个节点动态分配了内存的
(头文件略过)
struct node
{
int Data;
struct node *next;
};
int main()
{
struct node *A=(struct node *)malloc(sizeof(struct node));
A->next=(struct node *)malloc(sizeof(struct node));
A->next->Data=3;
A->next->next=NULL;
A=A->next;
printf("%d",A->Data);
return 0;
}
它的输出结果是3
然后我们来试试没有分配动态内存的
struct node
{
int Data;
struct node *next;
};
int main()
{
struct node *A=(struct node *)malloc(sizeof(struct node));
A->next->Data=3;
A->next->next=NULL;
A=A->next;
printf("%d",A->Data);
return 0;
}
运行显示不出任何结果
那么我哪一个没有动态分配内存的指针究竟指向了什么?
是随意指向成为了一个野指针吗?
还是指向了NULL(一般这个要设置才能默认指向NULL吧?)
求教。