链表(自引用结构)

链表:
【链表(自引用结构)】链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作。

例:


#include
typedef struct student
{
int num;
int score;
struct student *next;
};
int main()
{
student a,b,c,*p,*head;
printf("size of p is %d\n",sizeof(p));
printf("size of a is %d\n",sizeof(a));
head=&a;
a.num=101; a.score=100;
b.num=102; b.score=102;
c.num=103; c.score=105;
p=head; a.next=&b; b.next=&c; c.next=NULL;
printf("address:a %p,b %p,c %p\n",a,b,c);
while(p!=NULL)
{
printf("%p (%d %d %p)\n",p,p->num,p->score,p->next);
p=p->next;
}
return 0;

}

答案:
链表(自引用结构)
文章图片




    推荐阅读