malloc
- 原型:void* malloc(unsigned int num_bytes)
- 作用:一次性申请num_bytes个bytes大小的内存,不会初始化
- 使用实例:
int* p = (int*)malloc(10*sizeof(int)) ;
calloc
- 原型:void* calloc(size_t n, size_t size)
- 作用:一次性申请n*size类型空间并初始化
- 使用实例:
int* ptr = (int*)calloc(10 , sizeof(int))
realloc
- 原型:void* realloc(void *ptr, size_t new_Size)
- 作用:用于对动态内存进行扩容(及已申请的动态空间不够使用,需要进行空间扩容操作),ptr为指向原来空间基址的指针, new_size为接下来需要扩充容量的大小。如果size较小,原来申请的动态内存后面还有空余内存,系统将直接在原内存空间后面扩容,并返回原动态空间基地址;如果size较大,原来申请的空间后面没有足够大的空间扩容,系统将重新申请一块(20+size)*sizeof(int)的内存,并把原来空间的内容拷贝过去,原来空间free;如果size非常大,系统内存申请失败,返回NULL,原来的内存不会释放。
- 使用实例:
int* p = (int*)malloc(10*sizeof(int)) ;
int *pb = (int*)realloc(p , 10*sizeof(int)) ;