free

来自cppreference.com
< c‎ | memory
在头文件 <stdlib.h> 中定义
void free( void* ptr );

释放之前由malloc()calloc()realloc()分配的空间。如果ptr是空指针,该函数不做任何动作。

如果ptr并不匹配一个之前由malloc()calloc()realloc()返回的指针,行为是未定义的。此外,如果指向的内存区域已被释放,行为也是未定义的,即free()realloc()曾以ptr为参数被调用过,并且之后没有malloc()calloc()realloc()的调用得到与ptr相等的指针。

目录

[编辑] 参数

ptr - 指向要释放的内存的指针

[编辑] 返回值

(无)

[编辑] 示例

#include <stdlib.h>
 
int main(int argc, char* argv[]) {
  int* ptr = (int*) malloc( sizeof(int) );
  free(ptr);
  return 0;
}


[编辑] 参见