1

YAML構成ファイルを処理するためにC libYAMLライブラリを使用していますが、コード内のこの構造体要素について少し混乱しています:

/** The stack of mapping pairs (key, value). */
struct {
    /** The beginning of the stack. */
    yaml_node_pair_t *start;
    /** The end of the stack. */
    yaml_node_pair_t *end;
    /** The top of the stack. */
    yaml_node_pair_t *top;
} pairs;

startend、およびの 3 つのポインターを使用しますtopstartとはどちらもend明らかなように見えますが、データ領域の始まりと終わりですが、 とは何topですか?

(参考までに、このコードは 741 行目に表示されています。)

4

1 に答える 1

3

start と end は、スタックの最大境界を参照します。上部は現在の位置を参照する動的ポインターであり、ネストされたレベルの関数を呼び出すと変化します。

于 2013-02-12T02:31:49.467 に答える