我有这两个数组,我想在每种情况下使用它们在 LCD 上打印不同的数组。
这是一个例子
char *ChangeSituatuion;
char *MainMenu[4]={"Category 1","Category 2","Category 3","Category 4"};
char *SubMenu[2]={"Category 3","Category 4"};
//case 1
*ChangeSituatuion=MainMenu;
//case 2
*ChangeSituatuion=SubMenu;
LCDPutStr(ChangeSituatuion[0],1);
在上面的例子中,我在液晶屏上没有显示任何有意义的字母
最佳答案
您遇到间接级别问题。您需要一个指向一组指针的指针。您的代码应该是:
char **ChangeSituatuion;
char *MainMenu[4]={"Category 1","Category 2","Category 3","Category 4"};
char *SubMenu[2]={"Category 3","Category 4"};
//case 1
ChangeSituatuion=MainMenu;
//case 2
ChangeSituatuion=SubMenu;
LCDPutStr(ChangeSituatuion[0],1);
关于将一个数组复制到另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48609887/