第一次尝试
#include<stdio.h>
#include<stdlib.h>
void* myMemcpy(void* destin, void* source, int num) {
if (destin == NULL || source == NULL) {
return NULL;
}
char* dest = (char*)destin;
char* sour = (char*)source;
for (int i = 0; i < num; i++) {
*(dest + i) = *(sour + i);
}
return destin;
}
int main() {
int arr[4] = { 5,6,7,8 };
int arr1[4] = { 0 };
myMemcpy(arr1, arr, 16);
for (int i = 0; i < 4; i++) {
printf("%d ", arr1[i]);
}printf("\n");
return 0;
}
这个代码很好实现,需要注意的是,一定要记得参数合法性检验。