大家在使用函数的时候避免不了使用堆内存,堆内存是一个匿名内存,它里边的内容是不能标识符进行访问的,只能使用指针进行访问,而且C语言的标准库函数给我们提供了两个堆内存的申请函数,但是这两个函数到底有什么区别呢?
malloc函数
相信大家对这个函数并不陌生,这个函数是用来像内存中的堆空间申请连续的存储单元,这个函数有一个参数就是我要申请的字节大小,他的返回值是一个void*的指针类型,在使用的时候要记得强转为自己所需要的指针类型哦!
void* malloc(size_t size);void* malloc(size_t size);void* malloc(size_t size);
calloc函数
calloc函数也是一个堆内存空间申请函数,但是与malloc不同的是,它有两个参数,第一个是要分配几块内存,第二个参数是要分配的内存块的大小,他的返回值是一个void*的指针类型,此函数会对内存进行初始化,初始化的值为0;在使用的时候要记得强转为自己所需要的指针类型哦!
void* calloc(size_t num, size_t size);void* calloc(size_t num, size_t size);void* calloc(size_t num, size_t size);
最重要的一点,在使用完malloc和calloc函数申请的内存空间之后,要记得及时使用free函数释放申请的内存空间,如果不及时释放,会造成内存泄漏哦。。。
void free(void* ptr);void free(void* ptr);void free(void* ptr);
来源链接:https://www.cnblogs.com/lradian/p/18801045
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容