首页 > 其他 > 详细

【每日一C之十八】自引用结构

时间:2014-04-12 12:00:21      阅读:426      评论:0      收藏:0      [点我收藏+]

每日一C之自引用结构

       每天一个C语言贝壳厚积薄发积跬步以致千里

 今日贝壳:解自引用结构之疑惑,struct结构体自引用解析
           1.自引用结构
       结构体内包含指向自身的指针,这类结构体称为自引用结构。常用的链表节点便是自引用结构。
                              struct node{
                       int number;  
                struct node *next;    //指向下一个节点的指针
              };
     2.陷阱
       结构体内包含指向自身的指针是合法的,但包含自身变量是不合法的。如下:
              struct node{
                       int number;  
                 struct node copy;    //一个自身节点变量
              };
     将会导致无限递归定义,这很容易理解,结构体内含copy结构体,copy内又含copy结构体...将陷入无限的循环陷阱。
     3.为什么指针可以 ?
        首先,指向自身的指针不会引发循环定义,不会陷入循环陷阱;其次,指针具有固定的大小,定义一个结构体,编译器必须知道这个结构体所占内存的大小。
      
                     Have a nice day !
  

【每日一C之十八】自引用结构,布布扣,bubuko.com

【每日一C之十八】自引用结构

原文:http://blog.csdn.net/lovecodeless/article/details/23446437

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!