myrgb 发表于 2016-10-17 10:36:16

求教:指针数组怎么能改其内容

本帖最后由 myrgb 于 2016-10-17 11:20 编辑

最近做液晶菜单,看了一下论坛《一个占用内存极少的菜单系统的实现》
http://www.amobbs.com/thread-798580-1-1.html
,由于基础不好,指针数组的内容怎么能像一般的数组替换其字符内容。
U8 * _CONST_ FuncItemCN[]=
{
{"读出数据"},
{"阈值"},
{"灵敏度"},
{"测量时间"},
};
比如我需要在程序中替换“读出数据”,怎么改呢

似乎是动态菜单,如工程中的程序
    for(Menu_j = 0;Menu_j < ItemNum; Menu_j++){//
       ChangeDispItem = (U8 *)&DataItem;
      *(ChangeDispItem + 4) = Menu_j+'0';
没能看懂为什么加'0'起到什么作用。

请教各位,非常谢谢

sleet1986 发表于 2016-10-17 10:50:38

加'0'数字变成字符

tkggsai2008 发表于 2016-10-17 10:51:34

转成ascii码

1+ '0' ='1'

gujiamao_love 发表于 2016-10-17 10:51:46

0x1 -> 0x31 ->‘1’

myrgb 发表于 2016-10-17 10:59:40

非常谢谢各位的解答,现在我比较郁闷的是怎么能改变指针数组里的内容

devcang 发表于 2016-10-20 00:28:38

单指针就是数组,,,,,,,
字符串数组,就是按数组处理

ch='a';
ch='s';
ch='c';

或者

for(i=0; i<COUNT; i++){
    ch=FuncItemCN;
}

zyw19987 发表于 2016-10-20 06:56:20

把指针数组看成二维数组,能理解了吧。

takashiki 发表于 2016-10-20 07:50:13

你这个数组是const的,基本无法修改,直接改字符串内容会有隐患。如果你去掉这个修饰,那就直接FuncItemCN=xxx就行了。

wangpengcheng 发表于 2016-10-20 08:00:11

CONST,改不了的,呵呵,除非编译之前改,或者把这个数组定义到一块空扇区中,然后就可以通过操作Flash进行改动了!

myrgb 发表于 2016-10-20 11:10:34

wangpengcheng 发表于 2016-10-20 08:00
CONST,改不了的,呵呵,除非编译之前改,或者把这个数组定义到一块空扇区中,然后就可以通过操作Flash进行 ...

感谢回复,我也意识到这个问题。现在用结构的方式解决
页: [1]
查看完整版本: 求教:指针数组怎么能改其内容