发新帖我要提问
123
返回列表
打印

xwj优化的通用菜单程序

[复制链接]
楼主: xwj
手机看帖
扫描二维码
随时随地手机跟帖
41
康康同学| | 2011-4-23 16:41 | 只看该作者 回帖奖励 |倒序浏览
觉得这个菜单结构挺好的,仔细学习后发现问题:
sizeof(*(KeyTab[Menu_tree[Menu_tree_ptr]].Menu_NextTab))这条语句求出结果是1,相当于sizeof(unsigned char),我觉得楼主的本意是求出Menu_NextTab所指向的数组的长度,但Menu_NextTab定义为指针后,即使初始化时把数组名赋值给Menu_NextTab,执行sizeof(指针)后,结果肯定不是数组的长度。请楼主指出怎么来矫正这个错误

使用特权

评论回复
42
zhangjinxing| | 2011-4-23 20:58 | 只看该作者
mark

使用特权

评论回复
43
sdpz| | 2011-4-23 22:18 | 只看该作者
刚好要做语音菜单,看到楼主的程序后,深受启发。要认真再看几遍才行。

顺便说说我以往的做法,用函数指针

菜单A()
{
...
下一个菜单 = 菜单B;
return;
...
}

菜单B()
{
...
下一个菜单 =  主菜单
return;
...
}
main()
{
while(1)
{
    (*下一个菜单)();
}
}

使用特权

评论回复
44
lookforjason| | 2013-3-23 22:56 | 只看该作者
jetbo 发表于 2007-11-22 16:12
精彩,好贴就得顶... if(*(KeyTab[Menu_tree][Menu_tree_ptr]].Menu_NextTab))  这句到底是 ...

应该是这样吧  : if(*(KeyTab[Menu_tree[Menu_tree_ptr]].Menu_NextTab))

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则