关于三个函数的定义:
void* reallc(void* ptr,unsigned newsize);//ptr指原来指针位置,将新分配的地址链接在旧的地址后面
void* malloc(unsigned size);//新分配一个int类型大小的内存
void* calloc(size_t nelem,size_t elsize);
malloc和calloc的区别:
1.在内存动态存储区中分配n块长度为“size”字节的连续区域。函数的返回值为该区域的首地址。(类型说明符*)用于强制类型转换。calloc函数与malloc 函数的区别仅在于一次可以分配n块区域.
2.主要的不同是malloc不初始化分配的内存,已分配的内存中可以是任意的值. calloc 初始化已分配的内存为0。次要的不同是calloc返回的是一个数组,而malloc返回的是一个对象。
realloc是给一个已经分配了地址的指针重新分配空间,参数ptr为原有的空间地址,newsize是重新申请的地址长度