原创程序展示范例
tearfly吧
全部回复
仅看楼主
level 5
///////////////////////////////////////////////////////// // 高速存储分配释放函数 ///////////////////////////////////////////////////////// // //说明: // 这个文件是对内存进行高速静态分配代替 new 等动态分配 // 命令的算法.通过指针对数组的控制实现. // //初始化函数: // 原形: void Init_Memory( void ) // 调用方式: Init_Memory(); // //分配函数: // 原形: void* Allocate( void ) // 调用方式: p = ( p_type * )Allocate(); // exp: p = ( int * )Allocate(); // //释放函数: // 原形: void Free_Memory( void *ptr ) // 调用方式: Free_Memory( p ); // // tearfly // 2004.10.21 // 风之翼工作室版权所有 ////////////////////////////////////////////////////////// #include
#include
#define BLKSIZ 80 //最大的单个数据容量 #define N 10 //高速存储区的个数 typedef union NODE{ //定义联合目的为了节省空间 union NODE *link; char data[BLKSIZ]; } BLOCK; static BLOCK *heap; //处理的接口指针 static BLOCK array[N]; //高速存储区数组 void Init_Memory() //对高速存储区进行初始化 { unsigned i; BLOCK *ptr; heap = array; ptr = heap; for( i = 1; i < N - 1; i++ ) { ptr->link = &array[i]; ptr = ptr->link; } ptr->link = NULL; } void* Allocate() //分配高速存储区 { void *ptr; if( heap != NULL ) { ptr = heap; heap = heap->link; return ptr; } std::cout << "没有可用的高速存取空间\n\7"; exit(1); } void Free_Memory( void *ptr ) //释放高速存储区 { BLOCK *p; p = (BLOCK *)ptr; p->link = heap; heap = p; return; } void main() { } ---------------------------------------------------------- 环境: Microsoft Visual C++ 7.0 Microsoft XP SP2 ////////////////////////////////////////////////////////// 如果在本吧发表原创程序请参照本范例,由于百度节省空间,进行了缩近,格式有变化,非本人程序格式,在此声明,谢谢支持! 
2005年09月24日 14点09分 1
level 1
还没有哈, 有了再说
2005年10月04日 09点10分 2
level 1
关于程序格式的问题,可以参考这一贴:http://post.baidu.com/f?kz=9364381
2005年10月07日 03点10分 3
1