| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 741 人关注过本帖
标题:一个关于地址内存的问题
取消只看楼主 加入收藏
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
结帖率:92.45%
收藏
已结贴  问题点数:10 回复次数:6 
一个关于地址内存的问题
void GetMemory(char *p)
{
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
GetMemory(str);   
strcpy(str, "hello world");
printf(str);
}

请问运行Test函数会有什么样的结果?
答案:程序崩溃。
因为GetMemory并不能传递动态内存,
Test函数中的 str一直都是 NULL。
strcpy(str, "hello world");将使程序崩溃。

对于这个答案,我仍然不是很理解,有高手能解释下吗,为啥str会一直是null呢?
搜索更多相关主题的帖子: 内存 地址 
2010-11-29 19:30
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 2楼 xiaomarn
怎么理解?

我是初学者
2010-11-30 09:08
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
*p = str来传递啊

我是初学者
2010-11-30 10:10
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
继续顶

我是初学者
2010-11-30 17:37
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
顶顶

我是初学者
2010-12-01 09:49
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 10楼 cq7610
*p不是已经有指针了么?怎么会是传值呢??

我是初学者
2010-12-01 12:00
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
顶顶

我是初学者
2010-12-01 18:23
快速回复:一个关于地址内存的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016504 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved