问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...体中的node是一个指向结构体的指针,但是对于linklist的

发布网友 发布时间:2024-10-09 17:21

我来回答

3个回答

热心网友 时间:2024-10-09 18:03

#define DATATYPE2 char
typedef struct node
{DATATYPE2 data;
struct node *next;
}LINKLIST;
这是用C语言描述单链表结构. 第二行中typedef struct node到底是用typedef为一个结构体取一个新的类型名,还是struct node就是一个类型名,现在是用typedef定义一个新的类型名LINKLIST来代替已有的类型名struct node。(LINKLIST是定义的一个变量还是一类型名呢)
还有一个疑问就是第二行中typedef struct node 即然是定义结点类型,那么直接写成struct node 不就行了吗,为什么前面还要加一个typedef呢,这样的意图是什么呢?他是要为这个类型重新取一个新的类型名吗?如果是的话,那后面那个LINKLIST就是新的类型名,而不是一个变量了。对吗?

我刚开始学的时候也是和你一样迷惑不解,现在有点理解了,我说说我的想法吧:
typedef struct node //这里node是结构体的名字
LINKLIST应该是新的类型名,在以后的程序中如果你想定义一个node类型的结构体,那么你就可以这样定义:
LINKLIST ppt; //ppt就是上面结构体的一个变量了
LINKLIST *ppt //ppt就是指向上面结构体的一个指针变量了
至于为什么用typedef struct node而不用struct node 呢,这是因为在C语言中以后你要定义一个结构体变量时,如果你用前者,可以用上面LINKLIST ppt;如果用后者,就不行了,用后者的话,你定义一个结构体变量的话要用struct node ppt;
但在C++中,好像两者都行,你可以编程试试

Link p 就是struct struct node *
即Link == LINKLIST *
所有有typedef的地方,都先把typedef去掉。
如果没有typedef, 很明显LINKLIST是一个struct node 的变量, Link 是 struct node *, nbsp 是 struct node & 的变量
然后,加上typedef。所有的LINKLIST,Link, nbsp都从变量升级成一个类型。
即LINKLIST 是struct node 类型,Link 是 struct node *类型,nbsp是struct node &类型。

热心网友 时间:2024-10-09 18:04

使用 typedef 为现有类型创建同义字
就比如说
typedef struct student
{
char name[20];
}stu;//这里的student 就相当于是stu 重命名了一样 至于你说的linklist 你自己定义的 你总得给出代码看看吧

热心网友 时间:2024-10-09 17:57

每一段代码在在执行前都要经过1、预编译:将头文件与程序主体合成预处理的C程序即.i文件
2、编译形成汇编码也就是我们所说的汇编语言即.s文件
3、汇编就形成了二进制代码即.o文件
4、.o文件通过链接形成可执行文件
typedef就是在链接阶段完成的,注意在这个地方与define的区别,#define是在预编译进行宏替换的,他们是在不同的阶段被处理的。
typedef struct node
{
int data;
struct node* next;
}LNode,*Linklist;
以以上的结构体做例子讲解:
typedef就如同我们在课堂一样,老师叫我们回答问题,不喊我们的名字而是喊我们的学号,用计算机语言表示:typedef   你的名字 学号;
这里你的学号相当于LNode和*Linklist,而你的名字相当于结构体
至于你问Linklist是什么类型,如果在函数前面加上Linklist或LNode*表明你要返回一个节点以便方便其他函数的调用,加在变量前表明该变量是个节点变量,你可以用sizeof(变量)测试该节点所占内存的大小,它的大小同结构体的大小是一致的。
你说的node是不是LNode,如果是的话,LNode*就是Linklist。要是申请地址的话,malloc(LNode)而不是malloc(Linklist),LNode是节点,而Linklist是指针是地址。
具体的理解我的讲解能力有限,不缺乏这样的代码让我们去练,当初我就是一点点理解的,时间长了,就了然了。你还是多编点代码,加上调试更能看清每一步的执行。
如果你说的node不是LNode,你说的结构体中的node,这个“中”字,表明你的问题不够严谨,你应该把你的结构体拿出来让我看一下。我想你的node就是我的LNode。
希望这点讲解对你能够有用,关键还是多编代码。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
支付宝健康码变色规则 ...变绿码?昨天做了核酸检测结果是阴性,多久健康码从黄码变成绿码_百度... 母亲有乙肝孩子一定会有吗 ...的作文,600字,要有真实情感最好写心灵的。帮帮忙,必采纳。谢谢啦... ...自我介绍怎么写呀!,急急急!!!拜托各位谢谢啦!!_百度... 以“我身边的文明礼仪”为题写一篇作文,请各位大侠帮帮忙啦... 石家庄100平米房子改水电多少钱一平 石家庄居民水电煤气费都是多少钱? 石家庄水电一个月多少钱一个月多少钱 石家庄水电价格是多少钱 家里怎么清洗干净衣服 家里如何清洗干净衣服 口香糖粘到衣服上那种办法更容易去除 单性花的花有哪些 比萨大教堂广场简介 “髑髅起作摇头舞”的出处是哪里 “夹山丈雪走髑髅”的出处是哪里 库洛姆·髑髅髑髅の简介 “地上多髑髅”的出处是哪里 髑髅地简介 ...样的虫子不知道是什么虫,喜欢在水里。放点盐就死了。 一个女孩子不仅仅皮肤好 还长得漂亮 还会打扮 身材也还好,也很能干为什 ... 如何卫生间保持干燥,不潮湿!我的房子有窗户。真正有效的办法。因为租... 古筝曲《高山流水 求古琴或者古筝曲《高山流水》 谁有《高山流水》这首曲? 夫妻共同财产能否经过协议公正。。变成为某一方私人财产。。经过双方同... 街头篮球PG2V2 街头篮球pg2v23分怎样准? 发明专利每年要交多少钱 华为EMUI 11.0手机如何备份数据后再恢复出厂设置? 《子夜》,《林家铺子》的读后感怎么写啊?我要500字以上的作文,谁会的... ...是位女孩 我希望能有一个属于自己独特的英文名 我的性格很活泼 希望... 能帮想一个女生英文名吗?要好听点的,最好和中文名类似 PS:海霞(中文... 东西重影怎么回事 糖尿病眼病与糖尿病 藏在农村的暴利小生意,一年收入十几万,比打工强多了! 甲亢性突眼注意事项 如何在Windows10中查看realtek高清晰音频管? 牙齿修复修复种类 保定朝华生物科技有限公司怎么样? 宁波美方舟展示工程有限公司怎么样? 避孕药吃一次有什么危害 2014年有什么新韩剧 ...买的是十四号夜里一点的车票,我是十三号去从坐车呢,还是十四去... 火车票上是14日00:09开车,我是13日晚上去座,还是14日? 买的14号凌晨十分的电影票,是14号去?还是13号夜晚去 我的火车票,登车日期 20150314 02:55 请问是过了14号凌晨嘛 是十三号过... 15号12:00是到底是14号晚上么 别克英朗插u盘在哪里? 2024过小年的祝福用语