| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 367 人关注过本帖
标题:C语言动态内存释放问题,请高手帮忙看看!
只看楼主 加入收藏
hwf214685147
Rank: 2
等 级:论坛游民
帖 子:70
专家分:94
注 册:2011-9-14
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:4 
C语言动态内存释放问题,请高手帮忙看看!
#include "stdio.h"
void main()
{
  int count, *array;
  if((array=(int *)malloc(10*sizeof(int)))==NULL)
  {
      printf("不能成功分配内存空间");
      exit(1);   
      
  }
  for(count=0;count<=10;count++)
  {
      array[count]=count;
  }
  for(count=0;count<10;count++)
  {
      printf("array[count]=%2d\n",array[count]);   
  }
  free(array);
}

为什么加上free(array);后,出现调试错误警告!
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 内存 C语言 count 
2011-09-15 12:24
tisyang
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:132
专家分:737
注 册:2011-5-7
收藏
得分:5 
程序代码:
#include <stdio.h>
#include <stdlib.h>

int main()
{
  int count, *array;
  if((array=(int *)malloc(10*sizeof(int)))==NULL)
    {
      printf("不能成功分配内存空间");
      exit(1);    
      
    }
  for(count=0;count<=10;count++)
    {
      array[count]=count;
    }
  for(count=0;count<10;count++)
    {
      printf("array[count]=%2d\n",array[count]);    
    }
  free(array);
  return 0;
}



没有问题。。。。
malloc 和 free 需要引用头文件 <stdlib.h>

C++ 用无参数构造函数生成对象时候请勿在构造函数后添加无用的那一对括号,否则有可能会被当成函数声明而忽略,嗯,栈上构建的时候就是这样。
2011-09-15 12:48
hwf214685147
Rank: 2
等 级:论坛游民
帖 子:70
专家分:94
注 册:2011-9-14
收藏
得分:0 
加上文件头还是不行。
2011-09-15 13:11
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:15 
for(count=0;count<=10;count++)
越界了
2011-09-15 13:19
hwf214685147
Rank: 2
等 级:论坛游民
帖 子:70
专家分:94
注 册:2011-9-14
收藏
得分:0 
恩,是的,谢谢两位!
2011-09-15 13:23
快速回复:C语言动态内存释放问题,请高手帮忙看看!
数据加载中...
 
   



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

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