程序大概如下:

#include

#include

#include

#include

#include

#define MALLOC(num,type) (type*)alloc((num)*sizeof(type))

#define REALLOC(ptr,num,type) (type*)re_alloc(ptr,(num)*sizeof(type))

double *x;

int count =0;

void *alloc(size_t size)

{

void *new_mem;

new_mem = malloc (size);

if(new_mem == NULL)

{

printf("Out of memory!\n");

exit(1);

}

return new_mem;

}

void *re_alloc(void *ptr, size_t new_size)

{

void *renew_mem;

renew_mem = realloc(ptr,new_size);

if((renew_mem == NULL)||(renew_mem == ptr))

{

printf("renew is out of memory\n");

exit(1);

}

return renew_mem;

}

void mem_free(void *ptr)

{

if (ptr != NULL)

free(ptr);

}

int main()

{

......

x = MALLOC(N1, double);

for(i=0;i{

x[count] = A; //为x赋值

count ++;

}

N = N1 +N2;

x = REALLOC(x, N, double);

for(i=0;i{

x[count] = A; //为x赋值

count ++;

}

mem_free(x);

}

在linux下运行,报错,但是仍然可以输出正确结果,报错如下:

*** glibc detected *** ./main: double free or corruption (!prev): 0x0000000000cc7910 ***

======= Backtrace: =========

/lib64/libc.so.6[0x395d875366]

/lib64/libc.so.6[0x395d877e93]

/lib64/libc.so.6(fclose+0x14d)[0x395d865add]

./main[0x402a6c]

/lib64/libc.so.6(__libc_start_main+0xfd)[0x395d81ecdd]

./main[0x400a99]

======= Memory map: ========

。。。。。

求帮助,急、、急、、、

加入输出的主程序如下:

int main()

{

x = MALLOC(N1, double); //其它变量类似

for(i=0;i{

x[count] = A;

y[count] = B;

..... //多个类似的指针变量赋值

count ++;

fprintf(fout, "%12.4f%12.4f\n", x[count], y[count]);

}

N = N1 +N2;

x = REALLOC(x, N, double); //其它变量类似

for(i=0;i{

x[count] = A;

y[count] = B;

count ++;

fprintf(fout, "%12.4f%12.4f\n", x[count], y[count]);

}

for(i=0;i{

fprintf(fout2, "%12.4f%12.4f\n", x[i], y[i]);

}

mem_free(x);

mem_free(y);

....

}

c语言代码re通常什么错误,C语言,realloc动态内存申请,出现报错double free or corruption (!prev)...相关推荐

  1. c语言十七:动态内存申请

    动态内存申请 一 动态内存申请 二 静态分配内存和动态分配内存 2.1 静态分配内存 2.2 动态分配内存 三 动态内存申请的相关函数 3.1 分配内存空间函数 malloc 3.2 free函数 ( ...

  2. hp计算机开机提示硬盘,找不到启动设备错误或未检测到硬盘的启动报错

    ​ "找不到启动设备"错误或"未检测到硬盘"的启动报错 可以将 BIOS 配置为指定电脑访问可用的可启动硬件设备的顺序. 最常见的可启动设备是: 内置硬件驱动器 ...

  3. c语言调试过程中的错误,C语言调试过程中duplicate symbol错误分析

    说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...

  4. 做c语言时经常遇到的错误,C语言新人常见问题与错误

    不知不觉,学习C语言也快一年了.虽然有C语言课,但是老师完全让我们自己看书,在自学的过程中,和周围同学交流中,以及后来在CSDN,BCCN,百度知道看帖回帖中,也看到许多C语言新人常遇到的问题与常犯的 ...

  5. 复制的python代码格式错误_新手常见6种的python报错及解决方法

    此篇文章整理新手编写代码常见的一些错误,有些错误是粗心的错误,但对于新手而已,会折腾很长时间才搞定,所以在此总结下我遇到的一些问题.希望帮助到刚入门的朋友们. 1.NameError变量名错误 报错: ...

  6. c语言编程中野指针错误,C语言(野指针错误)

    realloc引起的coredump 记录一次接口程序在运行过程中产生的崩溃问题,通过调试 core文件,定位到是程序在调用realloc 时候出现了问题 问题程序代码 #include #inclu ...

  7. 弹力球c语言代码运行,弹力球游戏c语言代码

    弹力球游戏c语言代码 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 #include #include #include #inc ...

  8. C语言0xc0000142错误,第一次用c++编译器出现奇怪的报错

    已结贴√ 问题点数:20 回复次数:15 第一次用c++编译器出现奇怪的报错 1>e:\c++\vc\include\yvals.h(528) : error C2059: 语法错误 : &qu ...

  9. log4j中调试与错误日志分开_idea中log4j日志插件报错

    visual studio code权威指南计算机 65.34元 包邮 (需用券) 去购买 > idea中log4j日志插件报错 在运行测试代码的时候,出现以下错误! 在 src/ main / ...

最新文章

  1. java实现收货7天发通知,Java实训的第7天
  2. Java IO 概述
  3. Zookeeper分布式一致性原理(三):Chubby分布式锁服务
  4. EOS 智能合约源代码解读 (3)asset.hpp
  5. 合同相似可逆等价矩阵的关系及性质_线性代数预习自学笔记-11:等价性与相似性...
  6. mysql操作手册我_MySQL使用指南一
  7. 根据数据表中的存储的方法名称来调用方法
  8. python 0xa_python在获取字节0xa或0xd后停止对文件的二进制读取
  9. 关于c:if没有c:else解决方案
  10. 魔力转圈圈(快速幂)
  11. UVA12416 Excessive Space Remover【对数+字符流】
  12. 全国统计用区划代码和城乡划分代码-70w数据
  13. win10远程桌面Android软件,微软远程桌面安卓版
  14. 开发流程与管理--国内IT项目开发流程
  15. 青年教师计算机培训美篇,小学生停课不停学美篇 小学生停课不停学美篇开头语...
  16. ubuntu设置桌面和锁屏背景
  17. 【调剂】西安工业大学刘欢教授“宽光谱量子点成像”科研团队接收5名调剂学生...
  18. Excel冻结窗格纪要
  19. 鼠标点击右键,反应慢,解决方法!
  20. Banner轮播图的基本使用

热门文章

  1. [转]Decide.com是怎么做商品价格预测的
  2. Web开发中,使用表格来展示每个角色对应的权限
  3. 【翻译】五步快速使用LINQPad尝鲜StreamInsight
  4. win10虚拟桌面使用方法-提高工作效率
  5. 每日笔记---使用@ConfigurationProperties读取yml配置
  6. struts2中action的class属性值意义
  7. EZ_USB salveFIFO
  8. require include php5中最新区别,百度上好多错的。
  9. wkhtmltopdf中文显示空白或者乱码方框
  10. 互联网金融盯上房地产资金饥渴症