我有三组具有不同数据的数组
const UINT16 array1[4] = {1,2,3,4};
const UINT16 array2[4] = {3,2,2,4};
const UINT16 array3[4] = {8,7,2,4}; //This is not PIN code, :-)
...
void example(void)
{
UINT16 * pp;
UINT16 data;
pp = array1;
data = pp[0];
pp = array2;
data = pp[3];
pp = array3;
data = pp[2];
//and rest of code, this is snipped version of my larger code
}
在 dspIC33 中,我得到“警告:分配丢弃来自指针目标类型的限定符”
根据谷歌搜索的印象,我可能会这样做......
void example(void)
{
const UINT16 * pp;
pp = array1;
pp = array2;
pp = array3;
//and rest of code, this is snipped version of my larger code
}
那么这会使存储地址数据的 pp 变量成为固定值吗?(即在ROM内存中)?
什么是正确的方法?,如果可能的话,我更喜欢将数据保存在 const 内存中?