C++中动态内存管理的方式与C语言有所不同,在c++中通过new和delete运算符进行动态内存管理,通过深入剖析new/new[]和delete/delete[]来对c++的内存管理有更深入的了解
C语言
堆上使用malloc/calloc/realloc/free进行动态内存管理, malloc/calloc/realloc用来在堆上开辟空间,free将申请的空间释放掉
面试题:malloc/calloc/realloc三者之间的区别?
答:1)void *malloc(size_t size);size表示要分配的字节数,其中要检测空间是否开辟成功,开辟失 败时返回0
2)作用:在内存中分配一个元素被初始化为0的数组。
原型:void *calloc(size_t num,size_t size);num表示元素的个数,size表示每个元素的大小