free和malloc的使用
来源:互联网 发布:怎么装饰淘宝店铺 编辑:程序博客网 时间:2024/06/02 01:58
1、
动态内存分配时,用malloc申请内存,在使用完之后,一定要记得用free释放内存
今天我在编写程序时遇到了这样一个问题:
*** glibc detected *** ./SqlList: free(): invalid next size (fast): 0x09776108 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x6ebc2)[0xe29bc2]
/lib/i386-linux-gnu/libc.so.6(+0x6f862)[0xe2a862]
/lib/i386-linux-gnu/libc.so.6(cfree+0x6d)[0xe2d94d]
./SqlList[0x8048709]
./SqlList[0x8048647]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xdd4113]
./SqlList[0x80484a1]
======= Memory map: ========
00a93000-00ab1000 r-xp 00000000 08:0a 261548 /lib/i386-linux-gnu/ld-2.13.so
00ab1000-00ab2000 r--p 0001d000 08:0a 261548 /lib/i386-linux-gnu/ld-2.13.so
00ab2000-00ab3000 rw-p 0001e000 08:0a 261548 /lib/i386-linux-gnu/ld-2.13.so
00b63000-00b7f000 r-xp 00000000 08:0a 261582 /lib/i386-linux-gnu/libgcc_s.so.1
00b7f000-00b80000 r--p 0001b000 08:0a 261582 /lib/i386-linux-gnu/libgcc_s.so.1
00b80000-00b81000 rw-p 0001c000 08:0a 261582 /lib/i386-linux-gnu/libgcc_s.so.1
00dbb000-00f31000 r-xp 00000000 08:0a 261561 /lib/i386-linux-gnu/libc-2.13.so
00f31000-00f33000 r--p 00176000 08:0a 261561 /lib/i386-linux-gnu/libc-2.13.so
00f33000-00f34000 rw-p 00178000 08:0a 261561 /lib/i386-linux-gnu/libc-2.13.so
00f34000-00f37000 rw-p 00000000 00:00 0
00f48000-00f49000 r-xp 00000000 00:00 0 [vdso]
08048000-08049000 r-xp 00000000 00:16 1175142 /home/duqi/data_struct/List/SqlList
08049000-0804a000 r--p 00000000 00:16 1175142 /home/duqi/data_struct/List/SqlList
0804a000-0804b000 rw-p 00001000 00:16 1175142 /home/duqi/data_struct/List/SqlList
09776000-09797000 rw-p 00000000 00:00 0 [heap]
b7700000-b7721000 rw-p 00000000 00:00 0
b7721000-b7800000 ---p 00000000 00:00 0
b78e1000-b78e2000 rw-p 00000000 00:00 0
b78f1000-b78f4000 rw-p 00000000 00:00 0
bfb52000-bfb73000 rw-p 00000000 00:00 0 [stack]
已放弃
经过检查发现,错误并不是因为我free了两次同一块内存
原来写的是:Lc->elem = (ElemType *)malloc(Lc->listsize);
改成:Lc->elem = (ElemType *)malloc((Lc->listsize)*sizeof(ElemType));
没想明白是怎么回事
http://answers.yahoo.com/question/index?qid=20090130185622AAIfgIj
- free和malloc的使用
- malloc和free的使用
- malloc和free的使用范例1
- malloc free和new delete的使用
- new/delete和malloc/free的使用场合和区别
- malloc和free的实现
- malloc和free的原理
- malloc和free的源代码
- malloc()和free()的原理
- malloc和free的问题
- free和malloc的用法
- malloc和free的原理
- malloc和free的原理
- malloc()和free()的原理
- malloc和free的理解
- C++中malloc/free和new/delete 的使用
- c++ free()函数和malloc()函数的使用
- 使用malloc和free时的一些注意事项
- Silverlight之控件应用总结(一)(3)
- 第7周实验报告2
- 第7周实验报告3
- struct Base class Derived:public Base
- 给列表框添加事件注意问题
- free和malloc的使用
- DelayQueue的简单使用
- DP 棋盘覆盖 二
- axis2 调用webservice
- 二叉树--已知前序遍历和中序遍历,输出后续遍历
- Return types of virtual functions
- Android 系统图标大全
- 黑马程序员-c#基础知识小结
- 冯树军:是什么挡了印刷业ERP的发展之路?