您好,欢迎访问一九零五行业门户网

用C语言编写自己的memcpy()函数

这里我们将看到如何用 c 语言实现 memcpy() 函数。 memcpy() 函数用于将数据块从一个位置复制到另一个位置。 memcpy() 的语法如下 -
void * memcpy(void * dest, const void * srd, size_t num);
为了制作我们自己的 memcpy,我们必须将给定地址类型转换为 char*,然后将数据从源逐字节复制到目标。只需阅读以下代码即可获得更好的想法。
示例#include<stdio.h>#include<string.h>void custom_memcpy(void *dest, void *src, size_t n) { int i; //cast src and dest to char* char *src_char = (char *)src; char *dest_char = (char *)dest; for (i=0; i<n; i++) dest_char[i] = src_char[i]; //copy contents byte by byte}main() { char src[] = "hello world"; char dest[100]; custom_memcpy(dest, src, strlen(src)+1); printf("the copied string is %s
", dest); int arr[] = {10, 20, 30, 40, 50, 60, 70, 80, 90}; int n = sizeof(arr)/sizeof(arr[0]); int dest_arr[n], i; custom_memcpy(dest_arr, arr, sizeof(arr)); printf("the copied array is "); for (i=0; i<n; i++) printf("%d ", dest_arr[i]);}
输出the copied string is hello worldthe copied array is 10 20 30 40 50 60 70 80 90
以上就是用c语言编写自己的memcpy()函数的详细内容。
其它类似信息

推荐信息