↑: "[[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 %%