小编Aja*_*har的帖子

为什么我不能在不获取 int 地址的情况下将 int memcpy 到 char[] ?

这可能是重复的,但我还没有找到任何其他涉及我的具体情况的问题。

这就是我想做的:

int n = 12;
char s[sizeof(n)];
memcpy(s, (char *)n, sizeof(n));
printf("%d", s);
Run Code Online (Sandbox Code Playgroud)

基本上,我想复制ns而不需要获取 的地址n。当我运行它时,它给了我一个分段错误。然而,这有效:

printf("%d", (char *)n);
Run Code Online (Sandbox Code Playgroud)

所以我知道问题出在 memcpy 调用上。为什么我不能像这样将 int 复制到 char[] 中?

c int pointers char memcpy

0
推荐指数
1
解决办法
4781
查看次数

标签 统计

c ×1

char ×1

int ×1

memcpy ×1

pointers ×1