Cストレージスペース管理--野ポインタ、メモリ漏洩


4つの標準ライブラリメモリ関数:
calloc()
2 Dストレージスペースを割り当てる
free()
割り当てられたスペースの解放
malloc()
スペースの割り当て
realloc()
割り当てられたスペースのサイズを変更
 :malloc              ,main          ,           free ,         。

#include
#include
int main()
{
int *p;
p = malloc(sizeof(*p));
if(p==NULL)/メモリ申請が成功したことを確認する必要があります
{
return -1;
}
*p = 100;
printf("%p -> %d", p, *p);
free(p);//ポインタの指すメモリの内容を解放して、ポインタは解放していないで、この時ポインタPの指すメモリに対して引き続き操作することができなくて、pは野のポインタです
p = NULL;//pが指すメモリを解放してPを空にします.さらにpが指すメモリ操作にセグメントエラーが発生します.コンパイル結果を参照してください.
*p = 20;
printf("%p -> %d", p, *p);
return 0;
}
本文はブロガーのオリジナル文章で、ブロガーの許可を得ずに転載してはならない.