一个未初始化的指针

peachbrandy1 2011-09-15 10:04:03
好像感觉被忽悠了
char* fun()
{
char *p;
...
return p;


}
面试时人家说这个是对的,可我怎么觉得一个未初始化的指针,指向的是栈?
...全文
184 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
罗平 2011-09-15
  • 打赏
  • 举报
回复
一般函数不要返回指针。建议使用

void fun(char *p){
//指针操作
}

微软很多函数就是这样的。
oldmtn 2011-09-15
  • 打赏
  • 举报
回复
第一个不对,第二个就对的。

没必要想太多。排除法。。。反正你默认...部分是p = new char就行。。
许文君 2011-09-15
  • 打赏
  • 举报
回复
嗯?题目本身就不好把?哪有出里面夹杂...的,让人猜他做什么么?这不坑人么?桃子面的哪个公司?曝光一下。
向立天 2011-09-15
  • 打赏
  • 举报
回复
面试题?
peachbrandy1 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ouyh12345 的回复:]
返回一个地址

想想,返回一个int总是没问题的吧
[/Quote]
是啊,我知道没问题呢,但是都得不到预期结果把?
peachbrandy1 2011-09-15
  • 打赏
  • 举报
回复
也就是说我觉得char *p;是一个栈指针,而...这种什么的天知道他操作什么。
ouyh12345 2011-09-15
  • 打赏
  • 举报
回复
返回一个地址

想想,返回一个int总是没问题的吧
peachbrandy1 2011-09-15
  • 打赏
  • 举报
回复
题目是这样的,如果有版主看见请不吝帮忙改下

char* fun()
{
char p[]="Hello";
return p;
}
char* fun()
{
char *p;
..
return p;
}


他问我哪个对的。我说第一个肯定是得不到预期结果的,因为返回的栈指针。第二个我说我不知道他想干什么,这应该属于未定义行为(我觉得char *p在未new或者=等操作前他就是一个栈指针)。他还一脸鄙视的告诉我说第二个是对的。
smwhotjay 2011-09-15
  • 打赏
  • 举报
回复
只要指向的内存数据还存在就行。 如果p指向的是函数内栈变量,则是有bug的
v_table 2011-09-15
  • 打赏
  • 举报
回复
指针本身是栈,但是指向的内存可以是堆啊。。
peachbrandy1 2011-09-15
  • 打赏
  • 举报
回复
我不知道他中间有没有new,我觉得像这种题目就该属于未定义行为。而如果没有NEW,这样是不是返回一个栈指针?
fandh 2011-09-15
  • 打赏
  • 举报
回复
题目的环境是什么?
firefly3233 2011-09-15
  • 打赏
  • 举报
回复
中间的...中,如果有p = new char[..],应该是对的
mltong 2011-09-15
  • 打赏
  • 举报
回复
木意思的题目。体制下出来的童鞋,伤不起啊。
今晚又失眠 2011-09-15
  • 打赏
  • 举报
回复
是不是这题没过,就OVER了?
leer168 2011-09-15
  • 打赏
  • 举报
回复
就算错了,凭什么鄙视你啊?
这样写即使是对的,他也要在外面释放内存,不符合常规设计
zxfwizard 2011-09-15
  • 打赏
  • 举报
回复
真是厉害,这题目出出来想干什么?
j8daxue 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 peachbrandy1 的回复:]
题目是这样的,如果有版主看见请不吝帮忙改下

C/C++ code


char* fun()
{
char p[]="Hello";
return p;
}
char* fun()
{
char *p;
..
return p;
}



他问我哪个对的。我说第一个肯定是得不到预期结果的,因为返回的栈指针。第二个我说我不知道他想干什么,这……
[/Quote]
真奇葩,题目都不全说对,还一脸鄙视别人
请叫我涛哥0-0 2011-09-15
  • 打赏
  • 举报
回复
这公司出这面试题,就是坑爹呢!
alexander_david 2011-09-15
  • 打赏
  • 举报
回复
NND,你也给他一个...
加载更多回复(1)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧