读书人

结构指针放在结构体内部和结构体外部有

发布时间: 2012-03-29 12:53:12 作者: rapoo

结构指针放在结构体内部和结构体外部有区别吗?
最近看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只是一个指针(只是存一个地址),指向结构体的头,不需要知道结构体大小
结构体声明后就可以用来定义指针了

读书人网 >C语言

热点推荐