动态内存堆的使用2020-04-26

2020-04-26  本文已影响0人  宜居远控

栈:(stack)由编译器自动分配和释放

堆:(heap)一般由程序员分配和释放   malloc()函数

char *p=NULL;

p=(char *)malloc(sizeof(char));

free(p);

rt_system_heap_init((void *)HEAP_BEGIN,(void *)HEAP_END);

指定系统内存分配空间,堆起始地址和结束地址

内存复位

当我们每次申请到新的内存块之后,建议对申请到新的内存块清0操作。

p=rt_molloc(10);

if(p!=rt_RULL)

rt_memset(p,0,10);

内存泄漏

动态分配的堆内存,未释放或无法释放,导致程序运行减慢或崩溃。

注意:rt_malloc和rt_free 配套使用

上一篇下一篇

猜你喜欢

热点阅读