我是初学数据结构的,想问下Initlist(&L)ListInsert(&L,i,e)等定义这些在实际操作中为什么都没有带上&?例如创建一个空线性表是为什么直接就是Initlist(L)?这个&到底是什么意思?请知道的告诉下谢谢了
是否是这个意思,比如说,线性表定义InitList(&L),实际用的时候InitList(L),这个L就是表示一个地址,也就是说定义中的&L就是表示一个地址?
数据结构&L与L区别
答案:4 悬赏:20
解决时间 2021-03-15 01:31
- 提问者网友:神仙爷爷
- 2021-03-14 02:34
最佳答案
- 二级知识专家网友:陪我到地狱流浪
- 2021-03-14 02:46
在学c语言的时候,要想昂函数返回一个值,就要把这个函数的类型定义清楚,但是在数据结构的算法中,需要返回的不只一个值而且他们的类型又不一样,所以,加个&,该变量也能作为函数的返回值返回到主函数中,而不会因为是局部变量的关系在主函数中看不到变化,这是c++中的一种用法,面向对象的思想,和取地址符不一样。
全部回答
- 1楼网友:24K纯糖
- 2021-03-14 06:12
参数表Initlist(&L)中的&L表示是一个地址,而这个函数需要用到L的地址
主程序Initlist(L)中的L本来就是个地址,对应输入到函数参数也是个地址
嗯嗯,白话了讲就是你理解的意思~
- 2楼网友:不服输就别哭
- 2021-03-14 04:58
*是用来做指针处理的。
*l表示:l里面放了一个地址,*l则把这个地址的内容提出来。
例:20h这个地址里面存了一个数5.
而l则把20h这个地址存起来了。
*l就等于5.
而*&l而不同
&是取地址的意思。
&l就是把l的地址位置取出来。例于l在0x30位置。
*&l的结果,相当于*(0x30)。这个时候,要看0x30里面的值是多少。然后把这个值做为指针,再把具体的数据取出来
- 3楼网友:山鬼偶尔也合群
- 2021-03-14 04:18
*是用来做指针处理的。
*l表示:l里面放了一个地址,*l则把这个地址的内容提出来。
例:20h这个地址里面存了一个数5.
而l则把20h这个地址存起来了。
*l就等于5.
而*&l而不同
&是取地址的意思。
&l就是把l的地址位置取出来。例于l在0x30位置。
*&l的结果,相当于*(0x30)。这个时候,要看0x30里面的值是多少。然后把这个值做为指针,再把具体的数据取出来
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |