小编ios*_*ome的帖子

memcpy到完全相同的区域是否安全?

我知道memcpy对于重叠区域通常是不安全的,我确实理解其中的原因.但我的问题是:做这样的事情通常是否安全?

#include <stdio.h>
#include <string.h>

int main(void) {
    int a = 5;
    memcpy(&a, &a, sizeof a);
    printf("%d", a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果没有,我可以认为哪种硬件/软件配置是安全的?

edit1:所以我将改进我的问题:这个函数的通常*实现会认为它安全吗?(当然不在C标准之外)

edit2:我知道这个问题很容易解决,但是这个奇怪的用例引起了一个问题,这个问题没有直接被其他答案所覆盖.

*通常我指的是大多数使用和部署系统的实现(例如linux,windows ......)

c memcpy

-3
推荐指数
1
解决办法
1042
查看次数

标签 统计

c ×1

memcpy ×1