我正在研究要在嵌入式 linux 上运行的 ac 代码。我必须将数组的内容复制到内存块中。我已经将内存的基地址定义为:
#define BASE_ADDRESS 0x40000000
现在,当我将数组的内容 memcpy 到基地址时,我收到警告,提示从整数创建指针而不进行强制转换。如何删除此警告?这是我的代码:
unsigned int rx1_arr[64] = {0}; //some data is added to this array before memcpy
memcpy(BASE_ADDRESS, &rx1_arr, 64*sizeof(int));
你需要投射到空指针
memcpy((void *)BASE_ADDRESS, rx1_arr, 64*sizeof(int));
&
rx1_arr 前面不需要地址运算符。
rx1_arr
, &rx1_arr
,&rx1_arr[0]
指向相同的地址但具有不同的类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句