主题:关于线形表的链式结构
jobsen
[专家分:0] 发布于 2006-11-01 11:12:00
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LkList;
谁能帮我解释一下这个结构体的含义,怎么前面有个LNode,后面还有一个,
还有那个*LkList是不是和LNode一样,为什么定义两个???
高人帮忙啦,越详细越好!
回复列表 (共4个回复)
沙发
zjkzxy [专家分:310] 发布于 2006-11-01 19:14:00
typedef的使用:
typedef 已有的类型名 新的类型名;
例: typedef int INT;
这时用INT可以表示int 如INT a; 和int a;是等价的。
对如下结构体定义来说,
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LkList;
已定义的类型是:
struct LNode{
int data;
struct LNode *next;
};
新的类型名有两个:LNode,*LkList;
前者是一个新结构体名就相当于系统为我们提供的
int float等类型,后者是一个指向这种结构体类型的指针类型。
板凳
avenger07 [专家分:160] 发布于 2006-11-01 23:51:00
http://www.programfan.com/club/showbbs.asp?id=191322
看看这里就好了
*LkList==typedef struct lnode * LkList;
也就是说,要使以后要定义个结构体lnode的指针变量,就不用写成struct lnode *p;
而可以直接写成 LkList p;
3 楼
usabbs09 [专家分:0] 发布于 2006-11-02 15:32:00
噢!高手们就应该多解释一下这些看似简单的问题,要不,在此基础上的什么算法啊,我们初学的根本看不懂
谢谢啦!!!!
4 楼
我要飞飞飞 [专家分:180] 发布于 2006-11-05 15:15:00
那个next我不懂呀 它是什么样的指针呀 指响哪里
我来回复