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 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
1 回答6k 阅读✓ 已解决
2 回答3.5k 阅读✓ 已解决
1 回答419 阅读
1 回答2.1k 阅读
1 回答368 阅读✓ 已解决
memcpy(&y,&x,sizeof(int));
sizeof(int)
不一定是 2&x+2
不是&x
之后两个字节,而是&x
之后两个 int (两个sizeof(int)
字节)。