1

我正在使用 C libYAML 库来处理 YAML 配置文件,我对它的代码中的这个结构元素有点困惑:

/** 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;

它使用三个指针,startendtop。两者似乎都很明显startend它们是数据区域的开始和结束,但什么是top

(作为参考,此代码出现在此处的第 741 行。)

4

1 回答 1

3

start 和 end 指的是堆栈的最大边界。顶部是一个动态指针,指向当前位置,并随着您调用嵌套级别的函数而变化。

于 2013-02-12T02:31:49.467 回答