这可能是重复的,但我还没有找到任何其他涉及我的具体情况的问题。
这就是我想做的:
int n = 12;
char s[sizeof(n)];
memcpy(s, (char *)n, sizeof(n));
printf("%d", s);
Run Code Online (Sandbox Code Playgroud)
基本上,我想复制n到s而不需要获取 的地址n。当我运行它时,它给了我一个分段错误。然而,这有效:
printf("%d", (char *)n);
Run Code Online (Sandbox Code Playgroud)
所以我知道问题出在 memcpy 调用上。为什么我不能像这样将 int 复制到 char[] 中?