大家在使用函数的时候避免不了使用堆内存,堆内存是一个匿名内存,它里边的内容是不能标识符进行访问的,只能使用指针进行访问,而且C语言的标准库函数给我们提供了两个堆内存的申请函数,但是这两个函数到底有什么区别呢?
mallo函数
相信大家对这个函数并不陌生,这个函数是用来像内存中的堆空间申请连续的存储单元,这个函数有一个参数就是我要申请的自己大小,他的返回值是一个void*的指针类型,在使用的时候要记得强转为自己所需要的指针类型哦!
void* malloc(size_t size);
calloc函数
calloc函数也是一个堆内存空间申请函数,但是与malloc不同的是,它有两个参数,第一个是要分配几块内存,第二个参数是要分配的内存块的大小,他的返回值是一个void*的指针类型,在使用的时候要记得强转为自己所需要的指针类型哦!
void* calloc(size_t num, size_t size);
最重要的一点,在使用完malloc和callo函数申请的内存空间之后,要记得及时使用free函数释放申请的内存空间,如果不及时释放,会造成内存泄漏哦。。。
void free(void* ptr);