原文链接:http://zhina123.blog.163.com/blog/static/417895782012106036289/
引用自身的结构体,一个结构体中有一个或多个成员的基类型就是本结构体类型时,说明这个结构体可以引用自己,所以称作引用自身的结构体。
例如下面的结构体:
struct link{ char ch; struct link *p} a;
p是一个可以指向struct link类型变量的指针成员,这样,a.p=&a就是合法的表达式。那么,这有什么意义呢?
这样的意义就是我们可以把分散存储的数据项,用一个结构体成员链接起来(当然这也耗费了那个存储指针的内存空间)看下面的程序
#include <stdio.h> struct node{ int data; struct node *next; }; main(){ struct node a,b,c,*p;//我们假设,这样声明的结构体变量a 、b、c在内存中并不是相临的 a.data=10; b.data=20; c.data=30; a.next=&b; b.next=&c; c.next='