C中简单配置参数的正确数据结构是什么?

时间:2012-02-28 02:27:03

标签: c algorithm data-structures configuration yaml

我需要一个数据结构(C语言)来表示配置参数,它很容易操作:插入,删除,查找等我认为哈希太重,因为配置参数只是一些层次结构映射键值对,很可能不超过10.那么存储这些配置参数的最佳数据结构是什么。

====================

实际上我正在从yaml文件中解析配置参数,所以重点是如何存储从yaml文件解析的值,并且易于通过键查找任何值?

2 个答案:

答案 0 :(得分:0)

如果配置变量集很小并且不太可能改变,那么最简单(但最不灵活)的方法就是声明正确的全局变量集,然后使用yaml reader来设置它们。即,像

int config1;
int config2;
...
parse_yaml_file(char *file) {
    // arrange to set config1, config2, ...
}

否则,我认为将哈希表用于这样简单的事情并没有错。

答案 1 :(得分:0)

听起来你想要一棵树。类似的东西可能是:

struct ConfTreeNode {
    char *key;
    int value;
    ConfTreeNode *child;
    ConfTreeNode *next;
};