1

この .c ファイルでこのコードを見ました。

struct node {
  Item data;
  struct node *next;
};

struct stack_type {
  struct node *top;
};

2 つの構造体を作成する利点は何ですか?

4

3 に答える 3

4

スタック全体と単一ノードを区別するために、コードがより明確になる場合があります。

于 2012-08-18T17:36:50.403 に答える
3

彼らはスタックの実装を検討しています。各ノードには次のノードへのポインターが含まれていますが、各ノードにはスタックの最上位へのポインターは含まれていません。スタック構造体だけがスタックの一番上へのポインターを格納します。スタック内のすべてのノードが最上位を指している場合、プッシュまたはポップごとに各ノードを変更する必要があります。不要なトップ ポインターもメモリの無駄になります。

于 2012-08-18T17:37:06.067 に答える
2

このようにして、スタック全体で機能する関数を強調表示できます。プロトタイプはのインスタンスを期待しますstruct stack_type- あなたは(おそらく)struct nodeスタックの真ん中から渡さないでしょう。

于 2012-08-18T17:41:37.560 に答える