struct STUDENT { char name[20]; int age; }; int arr1[] = { 1,2,3,4,5,6,7,8,9,10 }; int arr2[10] = { 0 }; //使用memcpy()函数将arr1数组的前20字节(即前5个整形)拷进arr2中 memcpy(arr2, arr1, 20); memset(arr2,0,8); for (int i = 0; i < 10; i++) printf("%d\n", arr2[i]); struct STUDENT person = { "Pierre de Fermat",46 }; struct STUDENT person_copy = { 0 }; /* 使用memcpy拷贝结构体: */ memcpy(&person_copy, &person, sizeof(person)); printf("person_copy: %s, %d \n", person_copy.name, person_copy.age);
输出结果:
0
0
3
4
5
0
0
0
0
0
person_copy: Pierre de Fermat, 46