把一段内存的数据复制到另一段内存,这个过程是cpu搬运。
- 变量赋值
int a = 10;
int b;
memcpy(&b,&a,sizeof(a));
printf("b=%d\n",b);
- 数组复制
int arr1[] = {1,2,3,4};
int arr2[4];
memcpy(arr2,arr1,sizeof(arr1));//将arr1内存中的数据长度为arr1的长度复制到arr2的内存
printf("arr2=%d %d %d %d\n", arr2[0], arr2[1], arr2[2], arr2[3]);
- 结构体复制
typedef struct Point{
int x;
int y;
}Point_t;
int main(void)
{
Point_t p1 = {1,2};
Point_t p2 = {0};
memcpy(&p2,&p1,sizeof(p1));
printf("p2,(%d,%d)",p2.x,p2.y);
return 0;
}