↑: "[[42-ExtenalFunctions]]" ##### ![[free()-書式]] ##### 説明 - free関数はptrのメモリ空間を開放します [[freeはptrのメモリ空間を開放する|Rdbh]] - 返り値はありません [[freeは何も返さない|Raz4]] - ptrは以下の関数で動的に確保したメモリ領域のポインタである必要があります [[free(ptr)のptrはmalloc() か calloc() か realloc()のptr|Ru9u]] - malloc(), calloc(), realloc() - 上記以外のメモリのポインタに対してfree()する場合は未定義動作になります [[動的確保したメモリ以外でfreeする場合は未定義|Rjby]] - free済みのメモリのポインタに対して再度freeするのも未定義動作です [[ダブルフリーは未定義|Rgga]] - `free(NULL);`は何もしません [[free(NULL)は何もしない|Rqby]] ##### ![[malloc()-free()使用例]] %% DATAVIEW_PUBLISHER: start ```dataview TABLE WITHOUT ID file.link as child, aliases[0] as alias from "zk/core" where meta(up).path = this.file.path SORT file.mtime ASC ``` %% | child | alias | | ----------------------------------- | ----- | | [[zk/core/free()-書式.md\|free()-書式]] | Cbmy | %% DATAVIEW_PUBLISHER: end %%