xxx999 发表于 2018-10-30 21:54:16

typedef struct LNode
{
elemtype data;
struct lnode *next;
}LNode,*linklist;
两个LNode是一样的吗?
*linklist为什么指向LNode

claws0n 发表于 2018-10-30 21:57:33

没有 *,你这样写的话 linklist 就是一个指针,指向 LNode 结构体的指针
int *p; 那么 p 就是指向整型变量的指针

xxx999 发表于 2018-10-30 22:06:44

claws0n 发表于 2018-10-30 21:57
没有 *,你这样写的话 linklist 就是一个指针,指向 LNode 结构体的指针
int *p; 那么 p 就是指向整型变量 ...

那struct 后面的LNode是类型名,大括号后面的是具体的变量名吗?

claws0n 发表于 2018-10-30 22:09:28

xxx999 发表于 2018-10-30 22:06
那struct 后面的LNode是类型名,大括号后面的是具体的变量名吗?

还没有定义变量,这是 typedef,定义新的数据类型而已

typedef struct LNode
{
elemtype data;
struct lnode *next;
}LNode,*linklist;

等同
struct LNode
{
elemtype data;
struct lnode *next;
};
typedef struct LNode LNode,*linklist;

xxx999 发表于 2018-10-30 22:24:31

claws0n 发表于 2018-10-30 22:09
还没有定义变量,这是 typedef,定义新的数据类型而已

typedef struct LNode


LNode LNode是什么意思。。。。

claws0n 发表于 2018-10-30 22:32:42

xxx999 发表于 2018-10-30 22:24
LNode LNode是什么意思。。。。

第一个是结构体名,第二个是你要取的别名

xxx999 发表于 2018-10-30 22:37:09

claws0n 发表于 2018-10-30 22:32
第一个是结构体名,第二个是你要取的别名

LNode就是变量名,linklist是指向LNode的指针,取地址就是LNode,这样理解对吗

claws0n 发表于 2018-10-30 22:45:57

xxx999 发表于 2018-10-30 22:37
LNode就是变量名,linklist是指向LNode的指针,取地址就是LNode,这样理解对吗

还没有变量,跟变量没有关系!!!!!!!!!!!!!!
LNode 是结构体名
往下看好了,找一个有 main() 的代码,通常不会是全局变量,在主函数里边才会定义结构体变量

xxx999 发表于 2018-10-30 22:57:59

claws0n 发表于 2018-10-30 22:45
还没有变量,跟变量没有关系!!!!!!!!!!!!!!
LNode 是结构体名
往下看好了,找一个有 mai ...

谔谔,懂了

_ULTIMATE_CODER 发表于 2018-11-1 12:51:27

typedef的作用是:一般定义struct的时候,比如struct student{...}; 使用时要这样:struct student a;...
使用typedef struct student{...}stu;只需要 stu a;...
省去了多余的声明
页: [1]
查看完整版本: