回 帖 发 新 帖 刷新版面

主题:[讨论]链表问题

C语言新人,对链表知识不太明白,请大神指教。

typedef int type;

stryct node

{

    type data;

    stuct node *next;     //next 是一个 struct node类型的指针,还是单指下一个元素的地址???

}

 

后插法;

p=(struct node*)malloc(size);

p->data=data;

p->next=NULL;           

if(head==NULL)

head=p;                    //  这个是什么意思?

else

tail->next=p;

tail=p;

 

按序插入;

p1->next=p;

p->netx=p2;

 

p不只是一个地址,为什么可以赋值给 p1->next?

 

 

 

 

 

 

回复列表 (共1个回复)

沙发

链表就像火车的车厢,一节车厢里装货,车厢后面的挂钩挂下一节车厢,链表不同于数组,数组是同时开辟一块数据空间存储所有元素,所以它的内部是一个元素接一个元素,一个元素的后面就是下一个元素,但链表不同,链表每个元素都是运行动态分配的,元素地址不确定,所以就要在存储元素的结构后面加一个指针,指向下一个元素的地址。

我来回复

您尚未登录,请登录后再回复。点此登录或注册