标题:请教一个关于malloc的问题
只看楼主
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
结帖率:50%
已结贴  问题点数:20 回复次数:15 
请教一个关于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
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
得分:4 
围观丶

编程之路定要走完……
2012-03-18 00:04
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:4 
试试str=get(str);

总有那身价贱的人给作业贴回复完整的代码
2012-03-18 00:13
namejik
Rank: 1
等 级:新手上路
帖 子:13
专家分:2
注 册:2012-3-17
得分:0 
回复 3楼 embed_xuel
这样str使用两次,你不觉得会有问题吗?不过还是谢谢你
2012-03-18 00:41
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
使用两次有什么问题?

总有那身价贱的人给作业贴回复完整的代码
2012-03-18 00:44
moonnight
Rank: 5Rank: 5
等 级:职业侠客
帖 子:158
专家分:380
注 册:2012-3-17
得分:4 
3楼正解
2012-03-18 00:47
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
楼主的问题可以作为值传递的典型例子

总有那身价贱的人给作业贴回复完整的代码
2012-03-18 00:58
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



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




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

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