【C语言】|【C语言】 实现memcpy

memcpy属内存操作函数,实现内存拷贝功能,但其参数类型为void,意思是任意类型都可以,但是在函数内要进行强制类型转换,并且其与strcpy相比多了一个参数size_t count(字节数) memcpy的函数原型是void *memcpy(void *dest, const void *src, size_t n),其功能是从源src所指的内存地址的起始位置开始拷贝count个字节到目标dest所指的内存地址的起始位置中#include #includevoid my_memcpy(void *p1,void const *p2,size_t count) { assert(p1); assert(p2); char *dest = (char *)p1; //强制类型转换 char *src = https://www.it610.com/article/(char *)p2; //强制类型转换 char *ret = (char *)p1; while(count--) { *dest++ = *src++; } } int main() { int arr1[10]={1,2,3,4,5,6,7,8,9,10}; int arr2[10]; int i = 0; int size = sizeof(arr1); my_memcpy(arr2,arr1,size); for(i=0; i<10; i++) { printf("%d ",arr2[i]); } printf("\n"); return 0; }

【【C语言】|【C语言】 实现memcpy】

转载于:https://blog.51cto.com/survive/1715228

    推荐阅读