gpt4 book ai didi

c - 警告 : passing argument 1 of ‘memcpy’ makes pointer from integer without a cast

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:16 26 4
gpt4 key购买 nike

我正在编写将在嵌入式 Linux 上运行的 C 代码。我必须将数组的内容复制到一 block 内存中。我将内存的基址定义为:

#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] 指向同一个地址,但类型不同

关于c - 警告 : passing argument 1 of ‘memcpy’ makes pointer from integer without a cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51669674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com