C言語の質問スレッド<42>
■ このスレッドは過去ログ倉庫に格納されています
0852デフォルトの名無しさん
NGNGレコードの増減・並び替えが行われるデータ構造があるんだが、最初にこれを読み込む時
にはレコード総数が分かっているのでmalloc(データ構造*レコード数)という感じでメモリ確保
していたんだ。
で、データの追加・削除・並び替えが発生するんで、リスト構造にし、リンクにはレコード
参照ポインタを使っていたの。
しかし、ここで問題があって、データの追加・削除時にはreallocを使って全データのメモリ
を再確保していたんだよね。
これすると、メモリアドレス変わっちまうんで、リンク情報が役に立たなくなって困ったわけ。
1レコード読むたびにmallocして、追加・削除するたびにもmalloc,freeしていれば
よかったんだけど、レコード数が多いから速度的に難があると思って、全データを
一気にmalloc,reallocしてたの。
漏れ、
非常識なんだろな。
■ このスレッドは過去ログ倉庫に格納されています