c语言编程实现类似memcpy函数
时间: 2024-11-03 22:05:39 浏览: 6
5.编程实现memcpy.docx
在 C 语言中,`memcpy()` 函数是一个标准库函数,用于将一个内存区域的内容复制到另一个内存区域。如果你想要自定义一个类似于 `memcpy()` 的函数,可以按照以下步骤编写:
```c
#include <stdio.h>
// 自定义 memcpy 函数
void custom_memcpy(void *dest, const void *src, size_t n) {
// 确保 dest 和 src 都不是 NULL
if (dest == NULL || src == NULL) {
printf("Error: Source or destination pointer is null.\n");
return;
}
// 使用 char* 进行逐字节的复制,因为 C 内存操作通常是按字节进行的
char *d = dest;
const char *s = src;
for (size_t i = 0; i < n; ++i) {
*d++ = *s++;
}
}
int main() {
int source[5] = {1, 2, 3, 4, 5};
int destination[5];
custom_memcpy(destination, source, sizeof(source)); // 复制数组
// 输出源和目的数组内容,验证复制是否成功
for (int i = 0; i < 5; ++i) {
printf("Destination[%d]: %d\n", i, destination[i]);
}
return 0;
}
```
这个 `custom_memcpy()` 函数接收目标地址、源地址以及要复制的字节数作为参数。它通过循环逐个字节地从源地址复制到目标地址。
阅读全文