1.malloc
2.calloc
calloc = malloc + memset
3.realloc
这个函数实现原理:如果ptr之后的空间足够,在要扩充的空间之后扩充。
如果不够,重新开辟一个新的空间,并把ptr原内容复制到新空间之前。
ptr指向的空间,必须是一个动态开辟的空间。
如果ptr是一个空指针,那么realloc等同于malloc
4.free
释放指针,需把该指针变为NULL
当使用free释放时,指针必须指向首地址,上述用法是错误的,因为p不断向后移动,最后不是首地址,应该p[i] = i或者*(p+i) = i