凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

凌阳教育分享:内存泄露

已有 478 次阅读| 2016-8-25 16:56

  概念:申请的内存,首地址丢了,找不了,再也没法使用了,

  也没法释放了,这块内存就被泄露。

  例1

  int main()

  {

  char *p;

  p=(char *)malloc(100);

  //接下来,可以用p指向的内存了

  p="hello world";//p指向别的地方了

  //从此以后,再也找不到你申请的100个字节了。

  }

  例2

  void fun()

  {

  char *p;

  p=(char *)malloc(100);

  //接下来,可以用p指向的内存了

  ;

  ;

  }

  int main()

  {

  fun();

  fun();

  return 0;

  }

  例2解决方案1

  void fun()

  {

  char *p;

  p=(char *)malloc(100);

  //接下来,可以用p指向的内存了

  ;

  ;

  free(p);

  }

  int main()

  {

  fun();

  fun();

  return 0;

  }

  例2解决方案2

  char * fun()

  {

  char *p;

  p=(char *)malloc(100);

  //接下来,可以用p指向的内存了

  ;

  ;

  return p;

  }

  int main()

  {

  char *q;

  q=fun();

  //可以通过q使用 ,动态申请的100个字节的内存了

  //记得释放

  free(q);

  return 0;

  }

  总结:申请的内存,一定不要把首地址给丢了,在不用的时候

  要释放内存。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 19:38 , Processed in 0.014779 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部