将一个数组复制到另一个数组

标签 c mplab

我有这两个数组,我想在每种情况下使用它们在 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/

相关文章:

android - 如何将Android ROM源码导入Android Studio?

c - 如何在 C 中进行合格的导入?

c - PIC24读取ADC错误

c - 在 PIC18 上从用户处获取数组值?

c - XC8 收到关于 plib I2C 函数的 "undefined symbols"错误

c - 为什么我的 Kadane 算法代码在所有情况下都给出 0 的输出?

c++ - 如何摆脱这个汇编代码?

连接被拒绝 TCP 套接字

无法修改字符数组

delay - 我们可以为 dspic33ep256mu814 Controller 的 mplab 中的 xc16 中的 _delay_ms 添加延迟函数的限制是多少?