在严的数据结构(c语言版) 中看到一段伪代码:

typedef struct Node{ElemType data;//ElemType是本书约定的统一数据元素类型,简单理解成int吧struct LNode * next;
}LNode,*LinkList;

typedef的用法不在此细说,可以简单理解为给数据类型取别名。

对于这个代码,目的是定义线性表的单链表储存结构

结构体部分比较好理解,一个是数据元素data,一个是指向本结构体的结构体指针next。

关键在于LNode与*LinkList——

抽象出两个句子:
typedef struct Node LNode;
typedef struct Node* LinkList;

1、先说LNode,参照typede的用法,可以得知LNode就是struct Node1的别名,即LNode==struct Node;

2、再说LinkList,是一个指向该结构体的指针别名。其实这个*应该不是跟着LinkList,而是跟在Node后面的。

可以通过这样一个例子可以这样来理解
typedef struct int ElemType
typedef struct int* ElemTypePtr
第一个是 定义整型变量的别名 ElemType
第二个是 定义指向整型变量的指针的别名 ElemTypePtr

用起来的话就如下:

LNode A;//定义结构体变量A;
LinkList B;//定义指向结构体的指针变量B;

LNode 的对象都是结构体
LinkList 的对象都是结构体指针


  1. 该处严格遵守c语言的语法规则,必须是struct Node,但在C++中可以是Node。 ↩︎

关于链表初始化typedef struct LNode{}LNode,*linklist的理解相关推荐

  1. (c语言)十字链表初始化、删除

    十字链表相关定义如下: typedef int ElemType;// 非零元素结点结构 typedef struct OLNode {int row,col;ElemType value;struc ...

  2. 关于数据结构(c语言)中结构体声明的typedef struct LNode, *LinkList的思考

    在数据结构的链表,表示中 typedef struct Node * PtrToNode 和 typerdef struct List的表示说明 typedef struct Node * PtrTo ...

  3. 对于单链表结构体中LinkList以及Lnode,*LinkList两种不同定义方式的个人理解

    在学习数据结构时,我们可以看到不同的书籍或者不同的人对于单链表结构体的定义是不一样的. 大致分为下面两种 第一种 typedef int ElemType; typedef struct Lnode{ ...

  4. c和c++中 typedef struct与struct,以及 typedef struct LNode *list

    struct和typedef struct彻底明白了 typedef struct LNode *list和struct LNode有什么区别 typedef在C中叫做声明别名,就是说同种事物的另外一 ...

  5. LinkList L与LinkList *L Lnode与*LinkList的区别

    typedef struct node {int data;struct node* next; }Lnode,*LinkList; 对于结构体前面加typedef是给结构体起了个别名, struct ...

  6. C++ 单向链表 —— 初始化、插入、返回第一个节点、删除、查找、长度、打印、反转(逆序)

    单向链表的概念: 如果"一个节点"将指向"另一个节点的指针"作为数据成员,那么多个这样的节点可以连起来,只用一个变量就能够访问整个节点序列,我们称之为链表.如果 ...

  7. c语言中的typedef struct相当于java的一个类?,C ++中'struct'和'typedef struct'之间的区别?...

    在C ++中,之间有什么区别: struct Foo { ... }; 和 typedef struct { ... } Foo; #1楼 您不能对typedef结构使用forward声明. stru ...

  8. C/C++语法知识:typedef struct 用法详解

    第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定 ...

  9. 位域,extern “C“,struct 和 typedef struct,struct 和 class,union 联合,friend友元类,using,::范围解析运算符

    文章目录 位域 extern "C" struct 和 typedef struct C++中struct 和 class union联合 explicit(显式)关键字 frie ...

  10. typedef struct与struct的区别

    第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定 ...

最新文章

  1. Django WSGI Error:class.__dict__ not accessible in restricted mode
  2. 好的开始是成功的一半 -- 怎么做好一个项目的启动...
  3. 游戏安全有多重要?——GAME-TECH游戏开发者技术沙龙
  4. Atitit。DD dragdrop拖拽功能c#.net java swing的对比与实现总结
  5. [mybatis]select_resultMap_自定义结果集映射规则
  6. android所有颜色代码
  7. 从苹果换回安卓是什么体验?
  8. PInvoke在 2.0 3.0的时候正常 升级到4.0后出错。
  9. Java8 Optional详解
  10. Python3使用PIL
  11. 图像条纹检测 python_光源在外观缺陷检测中的应用
  12. 面试常见的八股文记录
  13. 调用win api将指定名称的打印机设置为默认打印机
  14. “GitHub: Your account has been flagged.”的解决方法
  15. 3D真人手办,做一个迷你版的自己
  16. 现在香港开银行账户又变难了
  17. 南土所褚海燕组综述微生物组学的技术和方法及其应用
  18. 为什么精英都是时间控
  19. P15-Windows与网络基础-NTFS权限规则
  20. VC++钩子使用之全局键盘钩子

热门文章

  1. 基于linux平台的嵌入式开发每日一练(二)
  2. python调用IP摄像头
  3. 小米--万物互联实现原理
  4. 留言板php添加图片_php实现留言板功能
  5. 国家开发大学计算机平面设计试题,国家开放大学电大专科《计算机平面设计(1)》网络课形考任务1答案...
  6. arcgis栅格数据绘制等值线_ArcGIS Help 10.2 - 绘制等值线的工作原理
  7. c4d怎么导入图片描图建模_巧用C4D的参考图学习角色人物建模(躯干)
  8. JS设计模式 - 工厂模式
  9. MATLAB图像处理基本函数
  10. objectc foundation class hierachy