malloc、calloc用法和区别

malloc
1.类型:动态内存分配函数,被包含在malloc.h,stdlib.h
2.函数原型:void *malloc(unsigned int num_bytes),一个参数
3.功能:分配长度为num_bytes字节的内存块,申请的内存值不确定
4.返回值:如果分配成功则返回指向被分配起始地址的指针,否则返回空指针NULL。返回类型是void型,使用强制类型转换 int *p=(int *)malloc(sizeof(int))
5.注意:当内存不再使用时,应使用free()函数将内存块释放

calloc
1.类型:动态内存分配函数,被包含在stdlib.h
2.函数原型:void *calloc(size_t n, size_t size),两个参数
3.功能:在内存的动态存储区中分配num个长度为size的连续空间,申请的内存值都是零
4.返回值:如果分配成功函数返回一个指向分配起始地址的指针;否则返回NULL。 返回类型是void型,使用强制类型转换 int *y=(int *)calloc(10,sizeof(int))
5.注意:当内存不再使用时,应使用free()函数将内存块释放

malloc、calloc用法和区别malloc、calloc用法和区别