二.memcpy的使用size_t num --- 单位是字节(拷贝多少个字节)
void*可以接收任意类型的地址,但不能解引用或++--
注意:memcpy不能重叠拷贝
#define _CRT_SECURE_NO_WARNINGS 1 #include三.memcpy的实现#include int main() { int i = 0; int arr1[] = { 1,2,3,4,5 }; int arr2[5] = { 0 }; memcpy(arr2, arr1, sizeof(arr1)); for (i = 0; i < 5;i++) { printf("%dn", arr2[i]); } return 0; }
#define _CRT_SECURE_NO_WARNINGS 1 #include#include void* my_memcpy(void* dest, const void* src, size_t num) { void* ret = dest; assert(dest != NULL); assert(src != NULL); while (num--) { *(char*)dest = *(char*)src; (char*)dest+=1; (char*)src+=1; } return ret; } int main() { int i = 0; int arr1[] = { 1,2,3,4,5 }; int arr2[5] = { 0 }; my_memcpy(arr2, arr1, sizeof(arr1)); for (i = 0; i < 5;i++) { printf("%dn", arr2[i]); } return 0; }



