美文网首页
memmove与memcpy

memmove与memcpy

作者: 恍然如梦_b700 | 来源:发表于2021-04-17 20:54 被阅读0次

我们知道,分类的方法列表是通过memmove和memcpy加到类的方法列表的前面,而同名的分类方法根据文件的编译顺序,后编译的方法加到最前面,但是memmove和memcpy是什么呢?

memcpy

memcpy函数从src内存中拷贝了count字节到dest内存区域,但是src和dest的内存区域不能重叠

memmove

memcpy函数从src内存中拷贝了count字节到dest内存区域,但是src和dest的内存区域可以重叠
举个🌰

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

void printArray(int *a,int count) {
    for (int i = 0; i<count; i++) {
        printf("%d",*(a+i));
    }
    printf("\n");
}


int main(int argc, const char * argv[]) {

    int * dest;
    dest = (int *)malloc(sizeof(int)*3);
    *dest = 1;
    *(dest+1) = 2;
    *(dest+2) = 3;
    
    int * src;
    src = (int *)malloc(sizeof(int)*2);
    *src = 6;
    *(src+1) = 7;
    
    int addedCount = 2;
    int oldCount = 3;
    int newCount = oldCount + addedCount;
    dest = (int *)realloc(dest, sizeof(int) * newCount);
    printArray(dest, newCount);
    memmove(dest+addedCount, dest,sizeof(int) * oldCount);
    printArray(dest, newCount);
    memcpy(dest, src, sizeof(int) * addedCount);
    printArray(dest, newCount);
   

    return(0);
}

相关文章

  • memmove 和 memcpy 的区别

    memmove和memcpy都是拷贝,区别是memmove会判断方向,如果有重叠的区域那么memcpy就会有问题 ...

  • memmove与memcpy

    我们知道,分类的方法列表是通过memmove和memcpy加到类的方法列表的前面,而同名的分类方法根据文件的编译顺...

  • 总结:头文件cstring函数的用法(original)

    一.复制类(cpy) (1)memcpy 函数原型: 用法:可与用于转移数据 (2)memmove 函数原型: 基...

  • memcpy与memmove的区别

    memcpy和memmove都是C语言的库函数,相比于strcpy和strncpy只能拷贝字符串数组,memcpy...

  • memset, memcpy and memmove

    memset 函数原型 头文件include 功能将dest所指的内存区域的前size个字节的值全部设置为ch指...

  • memcpy memmove 函数

    memcpy函数 函数原型 功能:由src指向地址为起始地址的连续 size个字节的数据复制到以dest指向地址为...

  • memmove和memcpy

    内存移动void *memmove(void *str1, const void *str2, size_t n)...

  • memset,memcpy,memmove函数

    这三个函数分别实现内存设置,内存拷贝和内存移动 需要包含头文件#include 1.memset函数:内存的值重新...

  • memmove 和 memcpy的区别

      在看Category的源码时碰见了两个C语言函数memmove和memcpy,在string.h中我们可以看见...

  • 不可忽视的memmove与memcpy区别

    同样的服务端程序,在ubunut下面运行正常,在centos7下面会运行出错。出错的原因在于在调用recv,返回值...

网友评论

      本文标题:memmove与memcpy

      本文链接:https://www.haomeiwen.com/subject/zheplltx.html