我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 【讨论】指针问题 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

ljpdxj



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 687
威望: 0
浮云: 1108
在线等级:
注册时间: 2006-02-28
最后登陆: 2008-06-29

5come5帮你背单词 [ steward /stjuəd/ n. (轮船、飞机的)乘务员 ]


【讨论】指针问题

本帖被 zhd32 执行提前操作(2007-11-26)
下面的代码有什么指针问题?
Copy code
int * fun1 (void)
{
    int *Ptr;
    *Ptr = 10;
    return Ptr;
}

int * fun2 (void)
{
    int *Ptr;
    Ptr = (int *) malloc( sizeof (int));
    return Ptr;
}



[ 此帖被ljpdxj在2007-11-22 14:10重新编辑 ]
顶端 Posted: 2007-11-22 13:02 | [楼 主]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ percentage /pə'sentid3ə/ n. 百分数,百分比,百分率 ]


fun1中不能对Ptr指针赋立即数;
fun2中的Ptr是一个局部变量,函数返回后会丢失,但malloc出来的空间却仍然残留在堆中
不知对不对……
顶端 Posted: 2007-11-22 13:24 | [1 楼]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ lateral /'lætərəl/ a. 横向的,侧面,的旁边的 ]


Quote:
引用第2楼ljpdxj于2007-11-22 13:30发表的  :

第一个是因为*Ptr中存放的地址没有初始化,不能这样赋值
第二个我不也不知道哪里错了。。。
Ptr返回的是一个指向堆空间的一个地址,我觉得没有错。。。


噢,对,栈空间被释放之前已经把返回值复制了一份传出去了
顶端 Posted: 2007-11-22 13:41 | [2 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.009691(s) query 6, Time now is:11-22 16:58, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号