最近要自己写这两个函数,想参考一下网上的例子和评论,但是发现好多说的和试验结果不服!
int a[10];
for (int i=0; i< 10; i++)
{
a[i] = i;
}
int *retcpy = (int *)memcpy(&a[4], a, sizeof(int)*6);
int *retmove = (int *)memmove(&a[4], a, sizeof(int)*6);
//有人说retcpy指向的内存区域会是:0123012301,retmove指向的内容会是:0123012345
//理由是memcpy不会在写之前复制,但是我在vc下的试验结果都是:0123012345
//而且各种试验的结果两个函数都时相同的。
//希望共同探讨其原因(网上的例子是在linux下做的)。