Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1733572
  • 博文数量: 782
  • 博客积分: 2455
  • 博客等级: 大尉
  • 技术积分: 4140
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-06 21:37
个人简介

Linux ,c/c++, web,前端,php,js

文章分类

全部博文(782)

文章存档

2015年(8)

2014年(28)

2013年(110)

2012年(307)

2011年(329)

分类:

2011-11-16 23:43:22

原文地址:常见内存错误分析 作者:zffjh2021

1.返回局部变量地址错误
#include
int * test(void)
{
    int i = 0;
    return &i;        //返回局部变量地址,这里不允许的
}
int main(void)
{
   int *p;
   p = test();
   printf("*p = %d\n",*p);
   return 0;
}
2.临时空间过大
int test()
{
   int a[60][250][1000],i,j,k;//局部变量a过大
 
   for(k=0;k<1000;k++)
    for(j=0;j<250;j++)
     for(i=0;i<60;i++)
        a[i][j][k]=0;
}
3.申请堆空间后未释放
char *DoSomething(...)
{
   if((p = malloc(1024))==NULL)
       return NULL;
 
   return p;
}
不释放不再需要的堆空间不允许的。
阅读(226) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~