reallocにやられた

割り当てたメモリ領域のサイズを変更することができるreallocでやられた.

reallocでは,再割り当てするメモリ領域のサイズが従来のサイズよりも小さい場合にはメモリ位置は変化しないと思い込んでいたが,いかなる場合でもメモリ位置が変化することがあるようだ.

確かに,マニュアルをみると

Note that realloc() and reallocf() may move the memory allocation, resulting in a different return value than ptr.

と書いているので,そのようだ.

思い込みはいくない

メモリの指す内容が変化しないのと,メモリの指す先が変化しないのはまったく別問題だ

rallocで確保した先をポインタで参照していて超はまった

こういうことはしない方が良いんだろうなあ..