void* malloc(size_t size);
int *p=(int *)malloc(sizeof(int)*10);
malloc进行对堆空间的申请,将申请的堆空间赋给p,我们申请的堆空间返回的是空间地址我们要使用一个指针来进行存储;只会接受一个参数就是空间的大小
void* calloc(size_t num, size_t size);
int *p=(int *)calloc(10,sizeof(int));
//动态申请一个包含10个元素的int型数组p
calloc进行对堆空间的申请,返回的也是空间首地址,但是会将空间中的元素的数据都赋值为0;会接收两个参数,size_t num空间大小,size_t size空间类型
void* realloc(void* ptr, size_t size);
int* ptr = (int*)malloc(sizeof(int));
ptr = (int*)realloc(ptr, 5 * sizeof(int));
reallo用于重新分配已经申请的空间,它接受的也是两个参数,void*ptr空间首地址,size_t size空间大小;返回的是已经分配过的内存首地址;
void free(void* ptr);
free(ptr);
free是将由malloc,calloc,realloc三者申请的空间释放;接受的参数只有一个void *ptr指向该空间的首地址的指针
标签:总结,malloc,int,void,申请,空间,ptr,size From: https://blog.csdn.net/2401_83827692/article/details/140403234