之前在实现单链表的时候出现的一个问题

点击打开链接

比如创建一个结构体

struct List
{
int data;
struct List* link;
};

如果我直接声明一个结构体指针

List* p;

那么对这个指针进行操作的话一种是把一个Lis类型的变量的指针赋值给p;

另一种是为这个指针动态申请内存。

但是如果我声明一个结构体的变量的时候

List r;

那么系统已经自动为这个变量申请内存,可以直接对这个变量和这个变量的指针进行操作。

但是如果此时你为这个变量的地址申请内存,那么将会为这个变量的指针建立一个副本。对这个副本的操作并不会影响这个变量。(这么说其实并不严谨)。