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

求教一下结构体命名,教材上有点模糊解决思路

2012-04-05 
求教一下结构体命名,教材上有点模糊1)typedef struct{......}seqlist2)typedef struct lnode{struct lnod

求教一下结构体命名,教材上有点模糊
1)typedef struct  
{......}  
seqlist;

2)typedef struct lnode
{struct lnode *p;}
Lnode,*LinkList;
int main()
{ LinkList L;
  Lnode *s,sa;
}


上面
1)与2)其实是完全可以不用typedef的吧,教材中却都这么用有什么原因吗,为什么不直接写成struct seqlist{}?
2)中*s与l是否完全一致?为何要定义了一个Lnode,又定义一个*LinkList?




[解决办法]
问题(1):不用typedef的话每次声明struct 变量你得这样写:struct lnode a;而使用后直接这样写:lnode;
问题(2):不一致,LinkList指向的是整个链表的首地址,而Lnode指向的是链表中其中一个节点的地址.
[解决办法]

探讨
1)typedef struct
{......}
seqlist;

2)typedef struct lnode
{struct lnode *p;}
Lnode,*LinkList;
int main()
{ LinkList L;
Lnode *s,sa;
}


上面
1)与2)其实是完全可以不用typedef的吧,教材中却都这么……

热点排行