使用嵌套结构存储数据

时间:2012-04-18 04:01:38

标签: c pointers struct

我正在尝试存储基于文本的菜单系统的导航信息,并且不确定最佳方法。每个菜单都有一个状态编号,并包含几个命令,每个命令都会导致另一个状态。命令数随每个状态而变化,命令长度也是如此 - “1”,“Y”,“myfilename”都是各个点的有效命令。

我目前的想法是使用嵌套结构,并使用指针来应对 变量命令长度/数量:

// Smallest useful unit - a single command-state pair
typedef struct {
    char *command;
    uint16 next_state;
} cs;

cs test1 = {"1", 100};
cs test2[] = {{"foo", 200}, {"bar", 201}};

// Every command-state pair for a particular state
typedef struct {
    uint8 command_count;
    cs *all_cs[];
} one_state;

one_state all_states[NUMBER_OF_STATES];

我想要的是以这样的方式存储导航信息 它易于索引特定状态的命令 测试用户是否输入了有效命令。

有更好的方法,还是我走在正确的轨道上?感谢您的回复。

0 个答案:

没有答案