标题:请教一个关于malloc的问题
取消只看楼主
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
结帖率:50%
已结贴  问题点数:20 回复次数:6 
请教一个关于malloc的问题
这是函数

  #include <stdio.h>
  #include <string.h>
  char* get(char *str){  
    str = (char*)malloc(100);
    strcpy(str,"hello world");
    return str;
}

int main(){
   char *str = NULL;
   get(str);
   printf("%s",str);
   free(str);
   return 0;
}

我想这应该是一个关于内存的错误,但是具体我不清楚,请高手帮忙解答
搜索更多相关主题的帖子: hello free include return world 
2012-03-17 23:52
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
得分:0 
回复 3楼 embed_xuel
这样str使用两次,你不觉得会有问题吗?不过还是谢谢你
2012-03-18 00:41
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
得分:0 
我刚试了一下,有结果,是null,这是为什么啊
会不会有危险
2012-03-18 01:14
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
得分:0 
我是说不加str=get(str),我没说清楚,不好意思,我现在懂了,一说值传递我就懂了
2012-03-18 01:17
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
得分:0 
回复 5楼 embed_xuel
是我2了
2012-03-18 01:18
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
得分:0 
回复 5楼 embed_xuel
能给我详细讲解哈这样改的原因吗?总觉得我还差点什么没理
2012-03-18 01:30
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
得分:0 
回复 13楼 embed_xuel
帮我看看如果这道题是考内存出错或者是指针问题的话会在哪里出错,上面的代码是我凭记忆写下的;原题貌似是报错的,我不知道是哪里记错了吧。
(是我考试的一道题,别人说是关于malloc方面的错误)......嘿嘿,我还真是麻烦,拜托
2012-03-18 14:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-363514-1-1.html




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

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