CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

在学数据结构的时候的一个问题

楼主pipilang(皮皮狼)2003-11-03 18:33:15 在 C/C++ / C语言 提问

typedef   struct   node  
  {  
  int   data;  
  struct   node   *next;  
  }node,*linklist;  
  1。这里的typedef这样用有什么好处?  
  2。node和*linklist是分别定义了一个node结构,还是别的什么?  
  3。node和*linklist有什么联系?  
  谢谢~ 问题点数:20、回复次数:9Top

1 楼daizh()回复于 2003-11-03 18:59:13 得分 5

1、用typedef定义struct   node别名,这样在使用时直接用  
  node   var;而不用struct   node   var;  
  linklist   vlist;而不用struct   node   *   vlist;  
  从而比较简洁。  
  2、它们只是struct   node   和struct   node   *的别名,而没有重新定义一个node结构。  
  3、node   *     就是linklistTop

2 楼tnavy666(越晚越精神)回复于 2003-11-03 19:05:22 得分 0

放在程序中想可能好想一点  
   
  我以前也想不懂  
   
  看多了就了解了Top

3 楼yiyepianzhou(一叶扁舟)回复于 2003-11-03 19:12:56 得分 5

typedef定义结构,好处?不清楚,反正大家都这样用;  
  node是一个node结构,linklist是一个指针,指向node的指针;  
  单看这个定义结构,node是结点,linklist是指针,在使用的时候,如果把这两个仅从性质上来看,可能会出现node=*linklist的形式(我是指从类型上来看)  
   
  描述不清楚请见谅,不过,等你真正拿c语言编程,你会理解的,实践一下,兄弟……Top

4 楼gccr(古城痴人)回复于 2003-11-03 19:13:36 得分 5

1。这里的typedef这样用有什么好处?  
   打程序时简单,也好看  
  2。node和*linklist是分别定义了一个node结构,还是别的什么?  
   node就是这个结点,*linklist是指向这个结点的指针  
  3。node和*linklist有什么联系?  
   就像int   跟   int*一样的关系  
  Top

5 楼angelboycn(这段时间目光瞄准java`)回复于 2003-11-03 19:15:24 得分 0

以前的C语言代码都是这样写的,到了C++这样用的就少了,因为在定义一个结构体变量的时候struct可以省略。  
  比如:  
  node   Node;  
  而在C语言中就要写:  
  struct   node   Node;  
  Top

6 楼qufan(打死不回头)回复于 2003-11-03 19:23:26 得分 0

在c++中使用一个已经定义了的struct就不必在前面加struct(但是在c中要要的)  
  另外typedef   struct   node  
  {  
    ..//结构定义  
    }node,*linklist  
  对于第一个没什么好说的,第二个就定义了一个指针,类型为nodeTop

7 楼pipilang(皮皮狼)回复于 2003-11-03 21:45:30 得分 0

再问问  
   
  #include   "stdio.h"  
  #include   "malloc.h"  
   
   
  typedef   struct   node  
  {  
  int   data;  
  struct   node   *next;  
  }node,*linklist;  
   
  linklist   p;  
   
  linklist   initate(){         //linklist在这是什么意思呀?    
                    //初始化结构  
  p   =   (linklist)malloc(sizeof(int));  
  p->pointer   =   NULL;  
  return(p);  
  }  
   
   
   
  void   main(){  
  initate();  
  }  
  Top

8 楼angelboycn(这段时间目光瞄准java`)回复于 2003-11-03 21:59:55 得分 0

typedef   struct   node  
  {  
  int   data;  
  struct   node   *next;  
  }node,*linklist;  
   
  linklist在这里只是一个typedef名字。实际上就是把struct   node*替换成了linklist  
  linklist   initate()等同于struct   node   *initate();  
  Top

9 楼laiben(Ben)回复于 2003-11-03 22:01:37 得分 5

linklist   initate()   //函数返回类型值为linklist,也就是你前面定义的结构体指针Top

相关问题

  • 数据结构教学软件在哪里可得?
  • 如何在最短的时间学好数据结构
  • 学习数据结构,难吗?
  • 数据结构和离散数学
  • 如何学习数据结构?
  • 想学数据结构到这来
  • 初学数据结构的问题.
  • 学数据结构有用吗?
  • 学数据结构的办法?
  • 怎样才能学好数据结构??

关键词

  • c++
  • 指针
  • 结构
  • linklist
  • 定义
  • node
  • struct
  • typedef
  • 好处
  • 时候

得分解答快速导航

  • 帖主:pipilang
  • daizh
  • yiyepianzhou
  • gccr
  • laiben

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo