C 語言標準函數庫分類導覽 - stdlib.h free()

stdlib.h 的函數 free() 用來做動態記憶體配置,釋放原先所建立指向的記憶體空間,使用 free() 須注意並非刪除原先記憶體空間的資料,也非將操作的指標變數改為指向 NULL ,而是告訴作業系統,程式不會再去利用這塊記憶體空間。



通常有用 malloc() calloc() realloc() 配置過記憶體空間,不需繼續使用的話就會以 free() 釋放
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(void)
{
    char *tPtr;
    
    tPtr = malloc(40);
    if (tPtr == NULL) {
        printf("建立記憶體區域失敗...\n");
        exit(1);
    }
    
    strcpy(tPtr, "Actions speak louder than words.");
    printf("tPtr: %p\n", tPtr);
    
    free(tPtr);
    printf("tPtr: %p\n", tPtr);
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:cfree.c
    功能:示範 stdlib.h 中函數 free() 的使用
    作者:張凱慶
    時間:西元2010年6月 */


編譯後執行,結果如下



您可以繼續參考


沒有留言: