社区
C语言
帖子详情
返回这样的指针可以吗?
sunnysmile
2007-06-28 09:27:57
char* fun(char* p)
{
......
p++;
*p = 'a';
return p;
}
这个指针应该是在栈里面的吧,能返回吗?
...全文
405
20
打赏
收藏
返回这样的指针可以吗?
char* fun(char* p) { ...... p++; *p = 'a'; return p; } 这个指针应该是在栈里面的吧,能返回吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
locust1980
2007-06-29
打赏
举报
回复
p已经修改了,没有必要return,但是你定义的指针函数,只能说调试没有问题
halfstudio
2007-06-29
打赏
举报
回复
最好的方法就是你自己亲自试一试。
netxuning
2007-06-29
打赏
举报
回复
学习
yy_msdn
2007-06-29
打赏
举报
回复
char* fun(char* p)
{
......
p++;
*p = 'a';
return p;
}
其实没有必要返回,因为你传入参数的时候p的值就在原文中有,你修改的是p指向堆栈的内容,而且你修改了p的值,所以返回可能没有意义吧
jixingzhong
2007-06-29
打赏
举报
回复
这样的返回可能在 递归 中使用比较适合 ...
jixingzhong
2007-06-29
打赏
举报
回复
返回有效
shu_yoyo
2007-06-29
打赏
举报
回复
可以啊,
xddzccn
2007-06-28
打赏
举报
回复
可以了
fengdream
2007-06-28
打赏
举报
回复
完全可以的
你可以参考以下这个
http://community.csdn.net/Expert/TopicView.asp?id=5574625
cceczjxy
2007-06-28
打赏
举报
回复
可以的.
agaric
2007-06-28
打赏
举报
回复
我舉個例子吧。
char* fun(char* p)
{
p++;
*p = 'a';
return p;
}
char str[10];
char *retp;
retchar = fun( str );
則 retp = &str[1];
str[1]='a';
星羽
2007-06-28
打赏
举报
回复
p是栈里的,但p指向的内容,不管是堆还是栈上,在你函数返回时都有效
agaric
2007-06-28
打赏
举报
回复
可以的。 p指向的地址還是有效的,因為p的指向是你傳進來的。你要注意的是你p++還有之前的操作,使得p的指向有改動,你得確認這些地址都是可以操作的(申請的空間之內)。
ribut9225
2007-06-28
打赏
举报
回复
为什么要返回呢?
好像你在函数里已修改指针p了啊
星羽
2007-06-28
打赏
举报
回复
可以返回,不过你返回干嘛呢,其实就是你传进来的 p 啊
WizardK
2007-06-28
打赏
举报
回复
没问题,不就是地址值嘛
xlbdan
2007-06-28
打赏
举报
回复
所谓返回一个指针,其实返回的是它指向的地址.
所以在你返回的时候,指针变量被销毁,但它指向的地址还存在,并被返回
因此你的返回是可以的.
但是这个函数在接收数组的时候还好办,如果接收单个变量的话就要出内存问题了
freshui
2007-06-28
打赏
举报
回复
p本来就是你传进来的参数,
返回的是你传进来的p的副本的副本
内容和传进来的参数p不同, 因为你++p了 :)
hwkobeliulili
2007-06-28
打赏
举报
回复
我也觉得可以,呵呵
qlnqln
2007-06-28
打赏
举报
回复
可以
函数的
返回
值是
指针
本文详细解析了函数
返回
值为
指针
时的注意事项,包括不能
返回
局部变量地址的原因,以及四种安全的
返回
指针
的方式:形参传递、使用static变量、指向常量的
指针
及动态分配内存。
c语言
指针
,return以及函数
返回
值
本文深入探讨C语言中的
指针
概念,包括void*
指针
的用途、空
指针
与无确切类型
指针
的区别,以及如何利用
指针
交换变量。同时,详细解析函数
返回
值的意义和用法,探讨不同场景下
返回
多个值的策略,如利用数组
指针
、结构体
指针
或全局变量。
怎样
返回
二维数组的
指针
本文讨论如何在C语言中
返回
二维数组的
指针
。由于函数不能直接
返回
数组,但可以
返回
指针
,因此可以通过
返回
指向数组的
指针
来实现。文中提供了一个例子,展示了如何声明和使用
返回
二维数组
指针
的函数,强调了
指针
与数组的区别,并提醒读者理解栈内存的特性。
C语言
指针
操作(八)
返回
指针
值的函数详解
文章介绍了C语言中如何定义和使用
返回
指针
值的函数,通过实例解析了如何通过
指针
处理数组和查找不及格学生的信息,涉及到
指针
作为函数参数、数组和
指针
的关系以及
指针
在函数
返回
值中的应用。
C语言
指针
作为函数
返回
值
C语言中,函数可以
返回
指针
。本文通过示例解释了当函数
返回
指向局部变量的
指针
时,其潜在的风险。在函数执行结束后,局部变量虽然被销毁,但其占用的内存空间可能不会立即被清除,导致后续使用
返回
的
指针
可能会得到意外的值。建议避免
返回
指向局部变量的
指针
,以防止不可预测的结果。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章