void *malloc(size_t size)
分配size指定大小的内存块,并返回只想被分配的内存块起始位置的指针
void *calloc(size_t num_elements,size_t element_size)
分配num_elements个element_size大小的内存块,并且在返回起始位置指针之前将该内存块初始化为0
void realloc(void *ptr,size_t new_size)
修改一个原先已经分配内存块的大小,如果是扩大一个内存块,则内存块中原先的内容保持原样,新添加的内存添加到原先内存块的后面,而新内存并未初始化;如果是缩小一个内存块,该内存块尾部部分内存会被拿掉,剩余部分保持原样。如果第一个参数是NULL,那么它的行为就和malloc一模一样!
void free(void *pointer)
释放上面3个函数返回的内存块指针所指向的内存,也可以为NULL