免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 4099 | 回复: 39
打印 上一主题 下一主题

来挑挑错.容易犯的很阿. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-18 21:49 |只看该作者 |倒序浏览

#include <stdio.h>;
#include <stdlib.h>;
void getMemory(char *p, unsigned int size)
{
        p = (char*)malloc(sizeof(char) * size);
}
int main()
{
        char *p = NULL;
        getMemory(p,10);
        strcpy(p,"hello";
        return 0;
}

论坛徽章:
0
2 [报告]
发表于 2005-03-18 21:52 |只看该作者

来挑挑错.容易犯的很阿.

你自己先说说那儿错了吧。

论坛徽章:
0
3 [报告]
发表于 2005-03-18 22:23 |只看该作者

来挑挑错.容易犯的很阿.

[quote]原帖由 "kj501"]你自己先说说那儿错了吧。[/quote 发表:


pay attention to memory get.
ylyfan 该用户已被删除
4 [报告]
发表于 2005-03-18 22:37 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2005-03-18 23:19 |只看该作者

来挑挑错.容易犯的很阿.

#include <stdio.h>;
#include <stdlib.h>;
void getMemory(char *ppp, unsigned int size)
{
ppp = (char*)malloc(sizeof(char) * size);
}
int main()
{
char *p = NULL;
getMemory(p,10);
strcpy(p,"hello";
return 0;
}

呵呵,这样改一下大家是不是就看明白错在那儿了?

论坛徽章:
0
6 [报告]
发表于 2005-03-18 23:33 |只看该作者

来挑挑错.容易犯的很阿.

void getMemory(char **ppp, unsigned int size) ;

论坛徽章:
0
7 [报告]
发表于 2005-03-19 00:32 |只看该作者

来挑挑错.容易犯的很阿.

内存没有被分配

论坛徽章:
0
8 [报告]
发表于 2005-03-19 09:22 |只看该作者

来挑挑错.容易犯的很阿.

原帖由 "madcola" 发表:


pay attention to memory get.

我早就看出来了,这是新手经常犯的毛病。而且还有一个不好的习惯,忘记free已经分配的内存。
我一般是习惯于这样写:

  1. #include <stdio.h>;
  2. #include <stdlib.h>;

  3. char * getMemory(const int size)
  4. {
  5.         char *p = (char*)malloc(sizeof(char) * size);
  6.         return p;
  7. }

  8. int main()
  9. {
  10.         char *p = getMemory(10);
  11.         strcpy(p,"hello");
  12.         free(p);
  13.         return 0;
  14. }
复制代码

论坛徽章:
0
9 [报告]
发表于 2005-03-19 09:51 |只看该作者

来挑挑错.容易犯的很阿.

void getMemory(char *p, unsigned int size)多此一举

mem没有拿到

memory leak

论坛徽章:
0
10 [报告]
发表于 2005-03-19 13:13 |只看该作者

来挑挑错.容易犯的很阿.

指针的指针
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP