首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

结构指针放在结构体内部和结构体外部有区别吗?该如何处理

2012-03-29 
结构指针放在结构体内部和结构体外部有区别吗?最近看C语言的结构,有点不理解了structperson{charnameinta

结构指针放在结构体内部和结构体外部有区别吗?
最近看C语言的结构,有点不理解了
struct   person
{
      char   name;
      int   age;
      struct   person   *next;
}

如果struct   person   *next放在结构体外面还能理解,但放在结构体里面,我就糊涂了,从面向对象观点看,结构是一个整体,指针放在外面,指向的是这个结构,可以理解。指针放在里面时,结构这个整体还没形成,怎么就有指针了?也就是到右大括弧结束,person这个结构才会形成,指针怎么能放结构体里面呢????
谢谢!



[解决办法]
struct person
{
char name;
int age;
struct person *next;
}
第一行可理解为声明结构体
声明后就可以定义指针变量
[解决办法]
可以按 fosjos(无聊的菜鸟程序员) 的理解
next只是一个指针(只是存一个地址),指向结构体的头,不需要知道结构体大小
结构体声明后就可以用来定义指针了

热点排行