| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:初学者问一个关于结构体和指针的问题
取消只看楼主 加入收藏
zwb1986718
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-9-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
初学者问一个关于结构体和指针的问题
typedef struct BiTNode
 {
   TElemType data;
   struct BiTNode *lchild,*rchild; /* 左右孩子指针 */
 }BiTNode,*BiTree;


这段代码中定义*BiTree,这是定义了一个什么?
搜索更多相关主题的帖子: 指针 结构体 
2009-10-18 23:10
zwb1986718
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-9-14
收藏
得分:0 
以下是引用玩出来的代码在2009-10-18 23:15:08的发言:

是一个结构体指针!就像,int *p,是指向整型的指针,BiTree是指向结构体的指针。
struct BiTNode
 {
   TElemType data;
   struct BiTNode *lchild,*rchild; /* 左右孩子指针 */
 }BiTNode,*BiTree;


 关键是最前面有一个typedef,
 按照你的理解是这样的
 举例说:typedef int *point;

   可以这样定义么?

  

[ 本帖最后由 zwb1986718 于 2009-10-18 23:24 编辑 ]
2009-10-18 23:17
zwb1986718
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-9-14
收藏
得分:0 
以下是引用玩出来的代码在2009-10-18 23:35:41的发言:

typedef struct BiTNode
{
   TElemType data;
   struct BiTNode *lchild,*rchild; /* 左右孩子指针 */
}BiTNode,*BiTree
再此结构中就可以用BiTree来定以其他变量,如struct BiTNode *p;和BiTree p;一样。
把两个例子做一个比较
typedef int intger;
  struct BiTNode
{
   TElemType data;
   struct BiTNode *lchild,*rchild; /* 左右孩子指针 */
}BiTNode,看做是一个整体,相当于例子中的int
 也就是说typedef int *intger;

 这样也不对呀!

 
2009-10-18 23:46
zwb1986718
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2009-9-14
收藏
得分:0 
以下是引用玩出来的代码在2009-10-18 23:57:13的发言:

typedef int *intger;这个是不对的。teypedef 原类型名(关键字) 新类型名(标识符)
 
teypedef  struct BiTNode  
{  
   TElemType data;  
   struct BiTNode *lchild,*rchild; /* 左右孩子指针 */  
}BiTNode ...
你这是解释了BiTNode,这个我明白的!
 我想知道的是为什么BiTree前面有个*,也就相当于是这样
teypedef  struct BiTNode  
{  
   TElemType data;  
   struct BiTNode *lchild,*rchild; /* 左右孩子指针 */  
}*BiTree

 不好意思,初学者,问题比较多,比较简单,谢谢你耐心解答!
2009-10-19 00:10
快速回复:初学者问一个关于结构体和指针的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022175 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved