c语言代码re通常什么错误,C语言,realloc动态内存申请,出现报错double free or corruption (!prev)...
程序大概如下:
#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)...相关推荐
- c语言十七:动态内存申请
动态内存申请 一 动态内存申请 二 静态分配内存和动态分配内存 2.1 静态分配内存 2.2 动态分配内存 三 动态内存申请的相关函数 3.1 分配内存空间函数 malloc 3.2 free函数 ( ...
- hp计算机开机提示硬盘,找不到启动设备错误或未检测到硬盘的启动报错
"找不到启动设备"错误或"未检测到硬盘"的启动报错 可以将 BIOS 配置为指定电脑访问可用的可启动硬件设备的顺序. 最常见的可启动设备是: 内置硬件驱动器 ...
- c语言调试过程中的错误,C语言调试过程中duplicate symbol错误分析
说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...
- 做c语言时经常遇到的错误,C语言新人常见问题与错误
不知不觉,学习C语言也快一年了.虽然有C语言课,但是老师完全让我们自己看书,在自学的过程中,和周围同学交流中,以及后来在CSDN,BCCN,百度知道看帖回帖中,也看到许多C语言新人常遇到的问题与常犯的 ...
- 复制的python代码格式错误_新手常见6种的python报错及解决方法
此篇文章整理新手编写代码常见的一些错误,有些错误是粗心的错误,但对于新手而已,会折腾很长时间才搞定,所以在此总结下我遇到的一些问题.希望帮助到刚入门的朋友们. 1.NameError变量名错误 报错: ...
- c语言编程中野指针错误,C语言(野指针错误)
realloc引起的coredump 记录一次接口程序在运行过程中产生的崩溃问题,通过调试 core文件,定位到是程序在调用realloc 时候出现了问题 问题程序代码 #include #inclu ...
- 弹力球c语言代码运行,弹力球游戏c语言代码
弹力球游戏c语言代码 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 #include #include #include #inc ...
- C语言0xc0000142错误,第一次用c++编译器出现奇怪的报错
已结贴√ 问题点数:20 回复次数:15 第一次用c++编译器出现奇怪的报错 1>e:\c++\vc\include\yvals.h(528) : error C2059: 语法错误 : &qu ...
- log4j中调试与错误日志分开_idea中log4j日志插件报错
visual studio code权威指南计算机 65.34元 包邮 (需用券) 去购买 > idea中log4j日志插件报错 在运行测试代码的时候,出现以下错误! 在 src/ main / ...
最新文章
- java实现收货7天发通知,Java实训的第7天
- Java IO 概述
- Zookeeper分布式一致性原理(三):Chubby分布式锁服务
- EOS 智能合约源代码解读 (3)asset.hpp
- 合同相似可逆等价矩阵的关系及性质_线性代数预习自学笔记-11:等价性与相似性...
- mysql操作手册我_MySQL使用指南一
- 根据数据表中的存储的方法名称来调用方法
- python 0xa_python在获取字节0xa或0xd后停止对文件的二进制读取
- 关于c:if没有c:else解决方案
- 魔力转圈圈(快速幂)
- UVA12416 Excessive Space Remover【对数+字符流】
- 全国统计用区划代码和城乡划分代码-70w数据
- win10远程桌面Android软件,微软远程桌面安卓版
- 开发流程与管理--国内IT项目开发流程
- 青年教师计算机培训美篇,小学生停课不停学美篇 小学生停课不停学美篇开头语...
- ubuntu设置桌面和锁屏背景
- 【调剂】西安工业大学刘欢教授“宽光谱量子点成像”科研团队接收5名调剂学生...
- Excel冻结窗格纪要
- 鼠标点击右键,反应慢,解决方法!
- Banner轮播图的基本使用
热门文章
- [转]Decide.com是怎么做商品价格预测的
- Web开发中,使用表格来展示每个角色对应的权限
- 【翻译】五步快速使用LINQPad尝鲜StreamInsight
- win10虚拟桌面使用方法-提高工作效率
- 每日笔记---使用@ConfigurationProperties读取yml配置
- struts2中action的class属性值意义
- EZ_USB salveFIFO
- require include php5中最新区别,百度上好多错的。
- wkhtmltopdf中文显示空白或者乱码方框
- 互联网金融盯上房地产资金饥渴症