单链表---内存管理

匿名 (未验证) 提交于 2019-12-02 23:03:14

《C语言》单链表――内存管理

Main.c

#include "MemList.h"  #define malloc MyMalloc  void main() {  	void* p1= malloc(100); 	void* p2 = malloc(1002); 	void* p3 = malloc(5002);  	Show(Memory);  #if 0 	MyFree(p1); 	MyFree(p2); 	MyFree(p3); #endif  	ClearMemory(&Memory);   	Show(Memory); 	system("pause"); } 

MemList.h

#pragma once    #ifdef __cplusplus extern "C" { #endif   #include <stdio.h> #include <stdlib.h>  	typedef struct MemInfo 	{ 		void* P_MemAddr; 		unsigned int MemSize; 	}MemInfo;  	typedef struct MemList 	{ 		MemInfo* Mem; 		struct MemList* P_Next; 	}MemList;  	MemList* Memory; 	 	//打印链表 	void Show(MemList* P_Head); 	//初始化节点 	void InitNode(MemList* P_Head); 	//查找节点 	MemList* FindNode(MemList* P_Head, void* P_Memaddr); 	//添加节点(内存) 	void AddMem(MemList** PP_Head, MemInfo* P_Mem); 	//删除节点 	void DeleteNode(MemList** PP_Head, MemList* Node); 	//修改节点 	void ChangeNode(MemList** PP_Head, void* P_Memaddr, MemInfo* P_Mem); 	//清空内存 	void ClearMemory(MemList** PP_Head);  	void* MyMalloc(size_t Size); 	void* ReCalloc(void* P_Memaddr, size_t NewSize); 	void MyFree(void* P_Memaddr); #ifdef __cplusplus } #endif 

MemList.h

#pragma once    #ifdef __cplusplus extern "C" { #endif   #include <stdio.h> #include <stdlib.h>  	typedef struct MemInfo 	{ 		void* P_MemAddr; 		unsigned int MemSize; 	}MemInfo;  	typedef struct MemList 	{ 		MemInfo* Mem; 		struct MemList* P_Next; 	}MemList;  	MemList* Memory; 	 	//打印链表 	void Show(MemList* P_Head); 	//初始化节点 	void InitNode(MemList* P_Head); 	//查找节点 	MemList* FindNode(MemList* P_Head, void* P_Memaddr); 	//添加节点(内存) 	void AddMem(MemList** PP_Head, MemInfo* P_Mem); 	//删除节点 	void DeleteNode(MemList** PP_Head, MemList* Node); 	//修改节点 	void ChangeNode(MemList** PP_Head, void* P_Memaddr, MemInfo* P_Mem); 	//清空内存 	void ClearMemory(MemList** PP_Head);  	void* MyMalloc(size_t Size); 	void* ReCalloc(void* P_Memaddr, size_t NewSize); 	void MyFree(void* P_Memaddr); #ifdef __cplusplus } #endif 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!