C语言 <stdlib.h> free 函数

  • 描述

    C库函数void free(void *ptr)这是指向先前分配有要分配的malloc,calloc或realloc的内存块的指针。如果将空指针作为参数传递,则不会发生任何操作。
  • 声明

    以下是free函数的声明。
    
    void free(void *ptr)
    
    参数
    • ptr-这是指向先前分配有要分配的malloc,calloc或realloc的内存块的指针。如果将空指针作为参数传递,则不会发生任何操作。
  • 返回值

    此函数不返回任何值。
    示例
    以下示例显示free函数的用法-
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main () {
       char *str;
    
       /* Initial memory allocation */
       str = (char *) malloc(15);
       strcpy(str, "jc2182");
       printf("String = %s,  Address = %u\n", str, str);
    
       /* Reallocating memory */
       str = (char *) realloc(str, 25);
       strcat(str, ".com");
       printf("String = %s,  Address = %u\n", str, str);
    
       /* Deallocate allocated memory */
       free(str);
       
       return(0);
    }
    
    让我们编译并运行上面的程序,它将产生以下结果-
    
    String = jc2182, Address = 355090448
    String = jc2182.com, Address = 355090448