c语言释放内存的函数
首先,我们要先了解c语言中的内存管理,c语言中最常用的内存管理是动态内存管理,动态内存管理的一般流程是:申请一块内存,用完后再释放该块内存。在C语言中释放内存关键步骤是调用函数free(),free()函数用于释放由malloc()函数申请的已分配但未使用的内存空间。调用free()函数时,计算机将释放指定的block,该block以后可以由malloc()函数新分配,当free()函数成功执行后,该block的内存空间将被释放,但并不是真的被归还给操作系统,而是回到free list链表中,后面可能会由malloc()函数新分配。
molloc函数 free()函数的函数声明是:void free(void <*p>),表示返回值是没有的,所以在调用函数时,没有返回值。free()函数只有一个参数,即由malloc()函数分配的指针,因此我们需要在调用free()函数时,把该指针作为参数传递给free()函数,表示要释放该指针指向的内存块;当free()函数成功执行后,原先由malloc()函数分配的内存块将被释放,释放之后,原先指向该内存块的指针p将失效,之后不能再引用该内存块。
调用free()函数时,只能free()由malloc()分配的内存block,若对任何其他变量使用free()函数,将导致未知的结果。此外,释放已经释放的内存块也会导致未知的结果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论