c语言的经典动作。。。
菜单数组
static void *function[][2]=
{
(void *)K9f1g08_Program, "K9f1g08 Program /n",
(void *)K9f1g08_PrintBlock, "K9f1g08 Pr BlkPage /n",
#if (K9F1G08_ADD_CODE_EN > 0)//mozhaoyuan
(void *)K9f1g08_PrintBlock_Ex, "K9f1g08_PrintBlock_Ex /n",
(void *)K9f1g08_PrintBlockSpare, "K9f1g08_PrintBlockSpare /n",
(void *)K9f1g08_FindAllBadBlock,"K9f1g08_FindAllBadBlock /n",
(void *)K9f1g08_EraseBlock, "K9f1g08_EraseBlock /n",
(void *)K9f1g08_EraseNK_not_bad_Block, "K9f1g08_EraseNK_not_bad_Block /n",
#endif
(void *)1, "Exit ",
0,0
};
用法
while(1)
{
i=0;
while(1)
{ //display menu
printf(" %2d : %s",i,function[i][1]);
i++;
if((int)(function[i][0])==0)
{
printf("/n");
break;
}
}
scanf("%d",&i);
if( i>=0 && (i<((sizeof(function)/8)-2)) )
( (void (*)(void)) (function[i][0]) )();
}