回 帖 发 新 帖 刷新版面

主题:求助……

typedef struct LNODE LNode;
typedef struct LNODE *LinkList;


int init(LinkList *L)
{
  *L=(LNode *)malloc(sizeof(LNode));
  if(!L)   exit(ERROR);
  (*L)->next=NULL;
  return OK;
}
上面的typedef struct LNODE *LinkList;是什么意思啊,是不是指的用LinkList来代替指向struct LNODE 的指针,如果是那么下面的LinkList *L又是什么意思呢,而且从下面的程序来看*L应该是个指针型的变量啊,搞不懂啊!

回复列表 (共5个回复)

沙发

上面的typedef struct LNODE *LinkList;是什么意思啊,是不是指的用LinkList来代替指向struct LNODE 的指针,你的理解是对的
L是指针的指针

板凳

int init(LinkList *L)
{
  *L=(LNode *)malloc(sizeof(LNode));
那这是什么意思呢,而且两个L前都有*啊?

3 楼

typedef struct LNODE LNode;
typedef struct LNODE *LinkList;
 
这两个是数据结构类型的定义
后面的L表示是指向这个数据结构类型的指针

4 楼


typedef struct LNODE LNode;
typedef struct LNODE *LinkList;
 
这是定义LNODE LNode和LNODE *LinkList为结构体类型,LNode和*LinkList分别为结点和指针,而LNODE为类型名,我个人的一点见解。

5 楼

L是指针的指针

我来回复

您尚未登录,请登录后再回复。点此登录或注册