当前位置:首页C语言 > 正文

c语言memcpy函数实现

作者:野牛程序员:2023-12-04 15:11:17C语言阅读 2119

memcpy 函数用于在C语言中从一个内存地址复制一定数量的字节到另一个地址。以下是一个简单的 memcpy 函数的实现:

void *memcpy_custom(void *dest, const void *src, size_t n) {
    char *d = dest;
    const char *s = src;

    while (n--) {
        *d++ = *s++;
    }

    return dest;
}

这个简单的实现通过逐字节复制源内存地址中的数据到目标内存地址,直到复制了指定的字节数 n。在实际的应用中,为了提高性能,通常会使用一些优化手段,例如按字长拷贝或调用底层优化的汇编指令。

#include <stdio.h>
#include <stdlib.h>

void *memcpy_custom(void *dest, const void *src, size_t n) {
    char *d = dest;
    const char *s = src;

    while (n--) {
        *d++ = *s++;
    }

    return dest;
}

int main() {
    // Example of using memcpy_custom
    int src[] = {1, 2, 3, 4, 5};
    int dest[5];

    size_t num_elements = sizeof(src) / sizeof(src[0]);
    size_t num_bytes = num_elements * sizeof(src[0]);

    // Copy contents of src to dest using memcpy_custom
    memcpy_custom(dest, src, num_bytes);

    // Print the contents of dest
    for (size_t i = 0; i < num_elements; ++i) {
        printf("%d ", dest[i]);
    }

    return 0;
}

此示例中,memcpy_custom 函数用于将整数数组 src 的内容复制到另一个数组 dest

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击