小编Dan*_*ris的帖子

使用 memcpy 从数组转换为 int

我正在试验指针操作,并决定尝试通过使用 memcpy 从内存中直接复制来将数字数组转换为整数。

char aux[4] = {1,2,3,4}; 
int aux2 = 0;
memcpy((char*) &aux2, &aux[0], 4);
printf("%X", aux2);
Run Code Online (Sandbox Code Playgroud)

我预计结果是 0x1020304,因为我将确切的字节从一个复制到另一个,但是 printf 给了我结果 0x4030201,这几乎是我想要的输出,只是倒退。为什么会发生这种情况,有没有办法以“正确”的顺序获得结果?

c memory byte pointers memcpy

6
推荐指数
1
解决办法
163
查看次数

标签 统计

byte ×1

c ×1

memcpy ×1

memory ×1

pointers ×1