小编Lea*_*ode的帖子

作业:创建我自己的memcpy。为什么将目标和源指针转换为 unsigned char* 而不是 char*?

我正在尝试创建我自己的 C 函数版本,当我到达时,memcpymemset认为我应该将目标和源指针转换为char *. 然而,我见过很多指针被转换到的例子unsigned char *。这是为什么?

void *mem_cpy(void *dest, const void *src, size_t n) {

    if (dest == NULL || src == NULL)
        return NULL;
    int i = 0;
    char *dest_arr = (char *)dest;
    char *src_arr = (char *)src;
    while (i < n) {
        dest_arr[i] = src_arr[i];
        i++;
    }
    return dest;
}
Run Code Online (Sandbox Code Playgroud)

c memset memcpy

6
推荐指数
2
解决办法
384
查看次数

标签 统计

c ×1

memcpy ×1

memset ×1