在运行程序时出现警告:warning C4172: returning address of local variable or temporary。怎样修改?
答案:3 悬赏:50 手机版
解决时间 2021-02-03 12:34
- 提问者网友:情歌越听越心酸
- 2021-02-02 22:09
在运行程序时出现警告:warning C4172: returning address of local variable or temporary。怎样修改?
最佳答案
- 五星知识达人网友:街头电车
- 2021-02-02 23:29
char *get_string_1()
{
char p[200]="hello world";
return p;
}
这个要怎么改?
{
char p[200]="hello world";
return p;
}
这个要怎么改?
全部回答
- 1楼网友:duile
- 2021-02-03 01:19
p 是本地变量,getstring函数推出后,p销毁。这部分内存将被其他程序段复用。
传回p的地址,如果对改地址进行写操作,将导致内存内容破坏。
- 2楼网友:我住北渡口
- 2021-02-03 00:44
某函数返回的是局部变量的地址,因为局部变量在函数退出时就被mark为无效了,所以函数结束后所返回的这个地址不能确保包含能被接下来的代码使用的正确的值。
比如:
char* f(){ char a[] = "123"; return a; }
具体怎么修改要你把代码贴出来才好帮你解决
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯