0

ファイルから情報を読み込み、4 つのリンクされたリスト間で情報を割り当てるプログラムの作成に取り組んでいます。情報を表すために、次の構造を作成しました。

struct ListStruct{
  int waitingTime;
  struct ListStruct *next;
};

私の質問は、これらの typedef に関するものです。最初のものは構造を定義していますが、2番目のものは何をするのかわかりません。構造体 'Patron' へのポインターを作成しますが、typedef されていることは、4 つのリンクされたリスト間を簡単に移動できることを意味しますか? もしそうなら、これを利用する効果的な方法は何ですか?

typedef struct ListStruct Patron; 
typedef Patron *ListHeadPtr;
4

1 に答える 1

0

typedef されていることは、4 つのリンクされたリスト間を簡単に移動できることを意味しますか?

いいえ、便宜上のものです。

もしそうなら、これを利用する効果的な方法は何ですか?

次のように、リンクされたリストを関数に渡すことができるようになりました。

ListHeadPtr append(ListHeadPtr aList, ListHeadPtr anotherList) {
    ....
}

補遺

要素を "cons" するには (つまり、リストの先頭に挿入します):

ListHeadPtr cons(int waitTime, ListHeadPtr list) {
    ListHeadPtr first = malloc(sizeof(Patron));
    if (first == NULL) {
        /* Take evasive action */
    }
    first->waitingTime = waitTime;
    first->next = list;
    return first;
}
于 2013-03-29T23:06:47.687 に答える