动态内存分配
1.malloc():
malloc()函数分配一块大小为size的连续的内存:
void *malloc(size_t size);
free(): 释放malloc()申请的pointer指针指向的内存:
void free(void *pointer):
calloc():
与malloc()的区别在于calloc在返回指向内存的指针之前把它初始化为0;
realloc():
用于修改一个原先已经分配的内存块的大小。
2.常见的动态内存错误:
1.忘记检查所请求的内存是否成功分配;
2.操作内存时超出了分配内存的边界;
3.内存泄露
分配内存但在使用完毕后不释放将引起内存泄漏(memory leak)。
在所有执行程序共享一个通用内存池的操作系统中,内存泄漏将一点点榨干可用内存,最终使其一无所有。