typedef struct LNode结构指针

typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
这儿的LNode是给结构类型赋予名字LNode,还是定义结构变量LNode?为什么?实在是没弄明白,求高手回答!

LNode和*LinkList;是与前面的typedef配合起来使用的,意思是给你声明的结构体起一个别名叫LNode,同时起一个指针别名叫LinkList,以后就可以用以下方式声明变量:
LNode a;//声明了一个struct LNode型变量a,与写struct LNode a;等价,省心多了;
LinkList p;//声明了一个struct LNode *型指针变量p,与写struct LNode *p等价,也省心多了。
如果没有前面的typedef,意思就不一样了:LNode就只是一个struct LNode型变量,LinkList也就只是个struct LNode *型指针。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-28
typedef struct LNode{

    ElemType data;

    struct LNode *next;

}LNode,*LinkList;

//分开看就好了

struct LNode{

    ElemType data;

    struct LNode *next;

};

typedef struct LNode LNode;  //LNode就是 struct LNode的一个别名

typedef struct LNode*  LinkList; //LinkList是struct LNode*的一个别名

typedef struct LNode{ 。。。 }LNode,*LinkList;从开始到LNode我懂...
typedef是一种在计算机编程语言中用来声明自定义数据类型,后面的表示定义LinkList为LNode指针类型,用逗号进行分隔可以定义多个类型。typedef struct LNode{ 。。。 }LNode,*LinkList可以拆分为typedef struct LNode{ 。。。 } LNode;和typedef struct LNode{ 。。。 } *LinkList。例子:typedef...

c语言结构指针问题
typedef struct Lnode{ int data;struct Lnode *next;}LNode, *LinkList;定义结构 struct Lnode 为 LNode 类型 定义结构指针 struct Lnode* 为 LinkList 类型。声明:struct Lnode N;struct Lnode* L;就可以写成:LNode N; \/\/ 相当 struct Lnode N;LinkList L; \/\/ 相当struct L...

typedef struct LNode
struct LNode *next; 定义一个指向struct LNode类型的指针 typedef的作用是给已经定义的数据类型起个别名,以符合个人使用习惯和是数据类型含义清晰。 这里是将 struct LNode起个LNode的别名。LNode *L等同与struct Node *L 后面的Linklist也一样,是指向struct LNode指针类型的别名 LinkList L等同与...

typedef struct LNode { ElemType data; struct LNode *next; } L...
首先typedef是类型定义,就是type define ;结构体中ElemType data 是数据域,struct LNode next是指针域,就是next这个指针指向的结构体类型的结点。外面的LNode是结构体变量,即结点类型,也是为结构体赋予的新名字。*LinkList是结构体指针,即链表。

typedef struct LNode { ElemType data; struct LNode *next; }LN...
将自定义的结构体定义成两种类型,一种是结构体自己,一种是结构体指针类型,逗号隔开只是语法要求

typedef在数据结构中的用法
typedef 为重定义 类型 相当於:struct LNode{ ElemType data;struct Lnode *next;};typedef struct LNode LNode;typedef struct LNode *LinkList;此后, LinkList 就是一个新的数据类型 相当於LNode LinkList是指向struct node{}的指针类型 LNode *p与LinkList p作用是一样的,即 LNode * 可用 ...

typedef int ElemType; struct LNode {ElemType data; LNode *next;}...
struct LNode就是定义一个结构体的意思,结构体就是一种数据存储单元,里面可以自由设定可以存储的内容形式,如int型,char型等等。这段代码应该是关于一个链表,链表的每个单元都是结构体。LNode *next就是构造了一个结构体指针,这个指针可以指向这种结构体,即LNode类型的结构体,指针是指向数据存放...

数据结构链表 Lnode,*Linklist;问题
typedef struct Lnode { int data;struct Lnode *next;}Lnode,*Linklist; \/\/这个地方的Linklist是什么意思 结构体指针吗【Linklist是指向Lnode结构类型的指针,上面是对该结构类型的定义】void creatList(Linklist *l) \/\/ *l是Linklist的变量吗 【*l是倒是它的变量。可是Linklist已经是指针,就...

c语言版数据结构的链表开头,后面的那个*linklist,是啥意思啊
typedef struct lnode {...}LNode,*LinkList;这条语句的作用有:1、给结构体类型struct lnode定义了一个别名LNode,给结构体类型指针struct lnode *定义了一个别名LinkList。2、在{...}内定义了结构体的成员。

数据结构定义结构体的问题如何解决?
struct LNode *i,*j,*k \/\/声明3个指针变量,分别指向3个结构体,结构体类型为LNode 如果采用你这种定义,在以后,每次想创建一个LNode结构体实例时,都需要加一个struct关键字,这很令人反感,所以通常会利用typedef做一些改进:typedef A B 的作用是将A与B在编程时视为相同的代码 例如 typ...

相似回答