初级会员

- 积分
- 117
- 金钱
- 117
- 注册时间
- 2016-9-22
- 在线时间
- 26 小时
|
1金钱
定义一个数组
u8 TEXT_BUFF[]={"Explorer STM32F4 IIC TEST"} ;
如果有一个函数 型如
void AT24CXX_Write(u16 WriteAddr,u8 *pBuffer,u16 NumToWrite)
{
while(NumToWrite--)
{
AT24CXX_WriteOneByte(WriteAddr,*pBuffer);
WriteAddr++;
pBuffer++;
}
}
调用的时候 AT24CXX_Write(0,TEXT_Buffer,SIZE);没有问题;
但是 如果定义数组 const u8 TEXT_BUFF[]={"Explorer STM32F4 IIC TEST"} ;
调用的时候 AT24CXX_Write(0,TEXT_Buffer,SIZE);就会警告甚至报错,必须改成
AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE);才行
请问这是为什么? const不是修饰变量不能变化吗 ?不是很理解
|
|