連結リストの勉強で
mallocやcallocで確保した領域は必ずfreeで開放するべきと書いてあるが
free書き忘れたり違ったアドレスを開放しようとしてもコンパイル(Borland C)が警告してくれないし
普通にプログラムの実行もできてるため、ちゃんと開放されているか不安です

一応領域確保と開放をするごとにprintf("%p")でアドレスを確認しながら恐る恐る実行してるのですが
freeし忘れたり変な所を開放したりするとどうなるんですか?