内存函数的用法,内存函数是什么百科

  内存函数的用法,内存函数是什么百科

  Yyds干货库存

  @TOC

  1.memcpy函数

  Memy代表记忆功能,用法类似strcpy,是作为复制功能存在的。

  Strcpy只能用于字符串函数,而memcpy函数可以使用任何类型。

  使用任何类型时,使用的参数肯定是void。

  void memcpy(const void dest,const void *src,size _ t sum);

  这里的和作为字节数传递。

  #包含stdio.h

  #包含字符串. h

  int main()

  int arr[10]={ 0 };

  int arr2[10]={1,2,3,4,5,6,7,8,9,10 };

  memcpy(arr1,arr2,20);//1 2 3 4 5 /20作为字节数,即传递4个整数。

  返回0;

  }

  2.模拟memcpy函数。

  #包含stdio.h

  #incldue assert.h

  Void * my memcpy (constvoid * dest,constvoid * src,size _ tsum)//size _ t表示作为无符号数存在。

  断言(dest src);

  void * ret=dest

  while (sum-)//void *的指针不能解引用和加减,解引用不知道访问多少字节,加减不知道跳过结果字节。

  *(char *)dest=*(char *)src;//这里不用自加的原因:因为强制转换类型是临时状态。如果到达,指针会变回void*

  dest=(char *)dest 1;

  src=(char *)src 1;

  返回ret

  int main()

  int arr 1[10]={ 0 };

  int arr2[10]={1,2,3,4,5,6,7,8,9,10 };

  mymemcpy(arr1,arr2,20);//通过4次整形

  返回0;

  }

  二、memmove函数

  Memmove函数用于处理内存重叠。

  与参数memcpy函数相同

  voidmemmove(const void dest,const void*src,size _ t sum);

  #包含stdio.h

  #包含字符串. h

  int main()

  int arr[]={1,2,3,4,5,6,7,8,9,10 };//将1 2 3 4 5传递给3 4 5 6 7

  memmove(arr 2,arr,20);//结果是1 2 1 2 3 4 5

  返回0;

  }

  2.模拟memmove函数。

  #包含stdio.h

  #include assert.h

  void*mymemmove(const void*dest,const void*src,size_t sum)

  断言(dest src);

  void * ret=dest//返回目的地的初始地址

  如果(src dest)//src大于dest指针,则从前向后传递。

  while(sum -)

  *(char *)dest=*(char *)src;

  dest=(char *)dest 1;

  src=(char *)src 1;

  Else//src小于dest指针时从后向前传递。

  while(sum -)

  *(char *)(dest sum)=*(char *)(src sum);

  返回ret

  int main()

  int arr[]={1,2,3,4,5,6,7,8,9,10 };

  mymemmove(arr 2,arr,20);//20表示字节数,即传递5个整数。

  返回0;//1 2 1 2 3 4 5

  }

  当3 4 5 6 7传递到1 2 3 4 5时

  src dest指针从前向后传递。

  当1 2 3 4 5传递到3 4 5 6 7时

  src dest指针从后向前传递。

  三。memcmp功能

  几乎都是带strcmp函数的比较函数。

  但是,strcmp只能比较字符串的大小。

  memcmp函数可以比较任何类型的大小。

  int memcmp(const void s1,constvoid s2,size _ t sum);

  。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: