C语言内存管理主要包括malloc()、remalloc()、free()三个函数。本文主要介绍动态分配二维数组的三种方法,及malloc的使用注意事项(判断成功否,释放)
分类:
编程语言 时间:
2014-06-11 07:48:46
阅读次数:
321
前言因为直接学了C++,所以对C的一些细节了解不是很清楚,于是在这里补充一点小知识——动态内存分配,C++中相关的是new和delete,而C中相关的是malloc、calloc、realloc和free。注:alloc代表allocate,意为“分配”。deletep和delete[]p的区别这是...
分类:
其他好文 时间:
2014-06-11 07:47:21
阅读次数:
266
下面的代码片段输出是什么?为什么?
char *ptr;
if((ptr = (char *)malloc(0))==NULL)
puts("Got a null pointer");
else
puts("Got a valid pointer");
解析:......故意把0值传给了函数malloc,得到了一个合法的指针,这就是上面的代码,该代码的输出是"Got ...
分类:
其他好文 时间:
2014-06-08 17:11:28
阅读次数:
285
std::string CStringToSTDStr(const CString& theCStr)
{
// Convert the CString to a regular char array
const int theCStrLen = theCStr.GetLength();
char *buffer = (char*)malloc(sizeof(char)*(theCStrLe...
分类:
其他好文 时间:
2014-06-08 16:33:53
阅读次数:
218
关于结构体的一个特殊用法
//写法一
struct array {
int count;
char *buf;
}
//写法二
struct array {
int count;
char buf[0];
}
如果一个buf用作一个buffer的话,这时候如果malloc一块内存,
用方法一,buf是指针的话,指向这块申请出的内存的话,这里arr...
分类:
其他好文 时间:
2014-06-07 12:13:20
阅读次数:
273
mAlloc proc nSize:dword add nSize,4 invoke
GlobalAlloc,GMEM_ZEROINIT or GMEM_FIXED,nSize .if eax==0 invoke
MessageBox,NUL...
分类:
其他好文 时间:
2014-06-02 08:38:50
阅读次数:
267
我在前面的博客中分别使用C语言的动态数组和链表实现了学生成绩管理系统,最近正好在学习C++,于是我便使用C++实现了学生成绩管理系统,算法和前面的C语言的动态数组实现的学生成绩管理系统差不多,只是在动态内存分配上使用了C++的New,而C语言中使用的是malloc,在排序中使用了插入排序
我的使用C语言实现的学生成绩管理系统:http://blog.csdn.net/u010105970/art...
分类:
编程语言 时间:
2014-06-01 13:00:05
阅读次数:
447
/*
**AVL平衡树插入例程
**2014-5-30 11:44:50
*/
avlTree insert(elementType X, avlTree T){
if(T == NULL){
T = malloc(sizeof(struct avlTree));
if(T == NULL) fatalError("Out of space!!!");
T->element = X...
分类:
其他好文 时间:
2014-06-01 09:50:16
阅读次数:
233
转自:内存池设计与实现1. 内存池设计1.1
目的在给定的内存buffer上建立内存管理机制,根据用户需求从该buffer上分配内存或者将已经分配的内存释放回buffer中。1.2
要求尽量减少内存碎片,平均效率高于C语言的malloc和free。1.3 设计思路将buffer分为四部分,第1部分是...
分类:
其他好文 时间:
2014-05-31 17:49:57
阅读次数:
290