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

结构体的两种声明含义,该如何处理

2012-02-29 
结构体的两种声明含义小弟我看了书上有段代码不解就是:BTCHINALR*qstructnodel*s[32]而其中BTCHINALR和s

结构体的两种声明含义
小弟我看了书上有段代码不解就是:
BTCHINALR   *q;
struct   nodel   *s[32];
而其中BTCHINALR   和struct   nodel是一个结构体啊,如下
typedef   struct   nodel
{
      int   data;
      struct   *lchild,*rchild;
}BTCHINALR;

这里的BTCHINALR   和struct   nodel应该指一个东东啊,但是他为什么会这样写啊,为什么不写成一个东东啊,不懂
大哥高见????
谢谢


[解决办法]
相同的
[解决办法]
为了便于理解
[解决办法]
//定义类nodel,给类一个别名BTCHINALR
typedef struct nodel
{
int data;
struct *lchild,*rchild;
}BTCHINALR;


//同时定义类nodel和对象BTCHINALR,
struct nodel
{
int data;
struct *lchild,*rchild;
}BTCHINALR;//注意 BTCHINALR不是別名哦;
[解决办法]
BTCHINALR *q;//代表的是树的根接点
struct nodel *s[32];//代表其他叶子接点

我的的理解,不知道对不对

[解决办法]
Mobidogs() ( ) 信誉:100 Blog 2007-2-2 0:49:22 得分: 0



//定义类nodel,给类一个别名BTCHINALR
typedef struct nodel
{
int data;
struct *lchild,*rchild;
}BTCHINALR;


//同时定义类nodel和对象BTCHINALR,
struct nodel
{
int data;
struct *lchild,*rchild;
}BTCHINALR;//注意 BTCHINALR不是別名哦;


所以说是一样的~~~~
[解决办法]
BTCHINALR *q;
struct nodel *s[32];
两个一样...


可能是作者装B....-_-
[解决办法]
一样的东西.
[解决办法]
typedef struct nodel
{
int data;
struct *lchild,*rchild;
}BTCHINALR;

struct * ? 是什么东东?
[解决办法]
结构体是种数据类型;
用 typedef 给此类型(这个结构体)起个别名而已;


to LS: 本结构指针类型;
[解决办法]
分析:
typedef struct nodel //nodel为结构体的名字
{
int data;
struct *lchild,*rchild;
}BTCHINALR;

若我们的结构体声明中无typedef关键字,那么以后我们在使用该结构体的时候都必须写成struct nodel,即时时刻刻要在结构体的名称前加上struct关键字。
有了typedef关键字以后struct nodel就有了一个别名(好记的名字,好比一个人的外号)BTCHINALR,那么我们在以后的使用过程中就可以直接叫这个外号啦,即:BTCHINALR *q;
是不是使用起来回更方便呢?

主要是掌握typedef关键字的意义,你就明白了。

热点排行