重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

リスト構造がポインタを使って繋ぐ、という事はわかったのですが、例えば電話帳を作るとして、入力、保存、検索、のコマンドを作っても一度プログラムを終了するとデータは消えてしまいますよね?ファイルに保存したとしても、次に見るときにはまた、リスト構造にこれらのデータを戻すのですか??
よくわからないので教えて下さい。お願いします。

A 回答 (3件)

その通りです。

プログラムに「保存」「読み込み」という機能を付けて、

保存→リストの内容をファイルに書き出す
読み込み→ファイルから読み込んでリストに格納する

という動作を実装するといいでしょう。

ちなみに、
> 一度プログラムを終了するとデータは消えてしまいますよね?
リストでデータを管理する場合、malloc()でメモリ領域を確保するはずですが、
プログラム終了時には必ずfree()で各項目の領域を開放するようにしてください。
そうしないとメモリーリークが発生してしまいます。
    • good
    • 0
この回答へのお礼

やっぱり、ファイルを使うのですかーー。なるほど~。頑張ってみます。分かりやすい説明をありがとうございました。

お礼日時:2005/10/01 12:59

3つぐらいの方式が考えられます。


1.プログラムの最初で「読む」、プログラムの最後で「保存」を自動で行う。
2.上記の操作を人が行う。・・WORDやEXCELの例。
3.追加・変更・削除の都度自動的に保存を行う。

プログラムの操作性やハードディスクの負荷を考慮して決めます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。とりあえずは2番の様な動作になるようにしてみました。どうもありがとうございました。

お礼日時:2005/10/01 13:02

>次に見るときにはまた、リスト構造にこれらのデータを戻すのですか?


そうです。作業中のデータを保存する必要があるソフトは、皆そうしてますよ。又、ファイルへの保存と、データ構造は無関係です。

単純な線形リストなら、ファイル保存時は配列状にするだけです。
    • good
    • 0
この回答へのお礼

なんとか、配列で保存する事も出来ました。どうもありがとうございました。

お礼日時:2005/10/01 13:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!