int x = -2;int y = 0;memcpy(&y,&x,2);memcpy(&y+2,&x+2,2);此时y的值为什么不是-2呢
memcpy(&y,&x,sizeof(int));
sizeof(int) 不一定是 2
sizeof(int)
&x+2 不是 &x 之后两个字节,而是 &x 之后两个 int (两个 sizeof(int) 字节)。
&x+2
&x
3 回答1.1k 阅读✓ 已解决
1 回答990 阅读✓ 已解决
4 回答777 阅读
1 回答856 阅读
1 回答887 阅读
1 回答653 阅读
1 回答761 阅读
1 回答6.1k 阅读✓ 已解决
2 回答3.6k 阅读✓ 已解决
1 回答503 阅读
1 回答2.2k 阅读
1 回答426 阅读✓ 已解决
memcpy(&y,&x,sizeof(int));
sizeof(int)
不一定是 2&x+2
不是&x
之后两个字节,而是&x
之后两个 int (两个sizeof(int)
字节)。