社区
C++ 语言
帖子详情
函数返回地址的问题
阿尔博特
2011-10-03 02:14:12
假设我已经建立好一个带头结点的单链表,现在我想写一个Locate函数来返回第i个结点的地址,如果在函数里定义一个指针返回第i个结点的地址,这是不可取的,因为不能返回一个局部指针的地址。对这个链表操作那么就要传入这个链表的有指针,如果在形参列表中传入头指针的话,那么在函数过程中头指针将会发生变化,请问这个Locate函数的形参列表该怎么写?请高手帮分析一下,在线等。
...全文
106
4
打赏
收藏
函数返回地址的问题
假设我已经建立好一个带头结点的单链表,现在我想写一个Locate函数来返回第i个结点的地址,如果在函数里定义一个指针返回第i个结点的地址,这是不可取的,因为不能返回一个局部指针的地址。对这个链表操作那么就要传入这个链表的有指针,如果在形参列表中传入头指针的话,那么在函数过程中头指针将会发生变化,请问这个Locate函数的形参列表该怎么写?请高手帮分析一下,在线等。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hengshan
2011-10-03
打赏
举报
回复
列表中的节点内存一般情况下,都需要在heap内存区申请的,所以你列表中某个节点的指针是正确的。
iamnobody
2011-10-03
打赏
举报
回复
楼上正解,返回一个局部变量的值是可以的。返回一个局部变量的指针是不行的。
但是这个局部变量本身就是指针的话,那么如果要返回他的指针的话结果就是返回一个指针的指针。但是你返回的只是指针而已。还是要研究下指针啊。
太乙
2011-10-03
打赏
举报
回复
[Quote=引用 1 楼 hqin6 的回复:]
lz对传递引用和传递参数还是没认识透彻啊~
[/Quote]
Node* Locate(Node* head, int n)
{
Node* p = head;
while (n-- && p)
{
p = p->next;
}
return p;
}
太乙
2011-10-03
打赏
举报
回复
lz对传递引用和传递参数还是没认识透彻啊~
Excel wps 小白偷懒系列(电子表格制作 vlookup
函数
的使用方法)
通过本套教程,您将学会 快速绘制表格,并完成打印输出,动态表格在工作中的妙用,窗格的冻结,制作动态考勤表,学会vlookup
函数
的操作,掌握vlookup的常范的错误,会嵌套vlookup
函数
返回
多列的值,了解数据透视表
栈溢出之覆盖
函数
返回
地址
栈溢出之覆盖
函数
返回
地址
原理利用 原理 栈溢出:栈溢出就是栈上的缓冲区填入过多的数据,超出了边界,从而导致了栈上原有数据被覆盖。
函数
调用的时候,会开辟一个栈帧结构。首先会将调用的
函数
的参数入栈,然后...
关于
函数
返回
地址
与EBP的关系总结
关于
函数
返回
地址
与EBP的关系总结 当前EBP
地址
的值是上一个
函数
(就是调用当前
函数
的
函数
)的基址指针,这个值(一个
地址
)的值就是上一个
函数
刚开始调用时EBP所持有的值 当前EBP
地址
的下一个
地址
(也就是EBP+4,根据...
C/C++获取
函数
返回
地址
一般而言, 能否覆盖
函数
返回
地址
是栈溢出攻击成功与否的前提, 而获取
函数
返回
地址
原理很简单, 栈回溯即可, 下面是x86上相应获取代码(仅为示例不可用于生产): #define Stack_Length (4 * 4 * 4) static void *_esp_...
【例8-16】
返回
地址
的
函数
函数
的
返回
值可以是
地址
(指针类型),用户可以根据需要自定义
返回
值为
地址
的
函数
。...//
返回
地址
的
函数
演示 将两个整数中较大的那个数的
地址
作为
返回
值 #include<stdio.h> int* bigger(int*, int
C++ 语言
64,687
社区成员
250,498
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章