一个小问题,数据结构(C语言版)
typedefstructLNode{ElemTypedata;structLNode*next;}*Link,*Position;typedefstruct{Linkh...
typedef struct LNode {
ElemType data;
struct LNode *next;
}*Link,*Position;
typedef struct {
Link head,tail;
int len;
}LinkList;
结构体后面加*Link和*Position是声明对象么?
还是typedef声明一个别名?
LinkList是没加*有什么不一样?
Link为什么可以作为 head,tail的类型名?
我写程序用的是C++,没学过C语言。
struct LNode 不是直接用LNode么?
可以直接用Link->data么?如果Link不是指针型,用Link.data是不是也行??还是要再另外声明变量? 展开
ElemType data;
struct LNode *next;
}*Link,*Position;
typedef struct {
Link head,tail;
int len;
}LinkList;
结构体后面加*Link和*Position是声明对象么?
还是typedef声明一个别名?
LinkList是没加*有什么不一样?
Link为什么可以作为 head,tail的类型名?
我写程序用的是C++,没学过C语言。
struct LNode 不是直接用LNode么?
可以直接用Link->data么?如果Link不是指针型,用Link.data是不是也行??还是要再另外声明变量? 展开
3个回答
2009-11-28
展开全部
它们只能用于定义变量,不能像类那样引用!
************************************************
typedef用于创建自定义类型,例如在这里:
typedef struct LNode {
ElemType data;
struct LNode *next;
}*Link,*Position;
就是定义了两个自定义指针类型Link和Position,它们可以用于定义变量,而且和struct LNode *是"同义词"
typedef struct {
Link head,tail;
int len;
}LinkList;
就是定义一个自定义类型LinkList,它和
struct {
Link head,tail;
int len;
}
是同义词,可以用来定义这个结构体类型的变量。
************************************************
typedef用于创建自定义类型,例如在这里:
typedef struct LNode {
ElemType data;
struct LNode *next;
}*Link,*Position;
就是定义了两个自定义指针类型Link和Position,它们可以用于定义变量,而且和struct LNode *是"同义词"
typedef struct {
Link head,tail;
int len;
}LinkList;
就是定义一个自定义类型LinkList,它和
struct {
Link head,tail;
int len;
}
是同义词,可以用来定义这个结构体类型的变量。
展开全部
前面是 typedef的都是声明类型名
没*就是说就是这个类型, 有*就是声明的这个类型的指针类型
因为typedef声明的就是类型名,类型名当然可以用来声明成员
没*就是说就是这个类型, 有*就是声明的这个类型的指针类型
因为typedef声明的就是类型名,类型名当然可以用来声明成员
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先c语言中没有对象。对象是面向对象的语言中才有的……
typedef是给结构体LNode重新命名。
LinkList是结构体变量,* LinkList是指针变量。
typedef是给结构体LNode重新命名。
LinkList是结构体变量,* LinkList是指针变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询