当前位置: 首页 > news >正文

国美电器如何进行网站的建设与维护wordpress建站需要写代码吗

国美电器如何进行网站的建设与维护,wordpress建站需要写代码吗,个人做的网站百度搜索不到,湖南专业做网站公司有哪些目录 前言: 一、头文件 二、memmove函数的作用 三、理解memmove函数的定义 1、返回类型 2、参数 四、使用memmove函数 案例1: 案例2: 五、解决数据拷贝之前被覆盖的方法 六、模拟实现memmove函数 前言: 上一篇博客,我…

目录

前言:

一、头文件

二、memmove函数的作用

三、理解memmove函数的定义

1、返回类型

2、参数

四、使用memmove函数

案例1:

案例2:

五、解决数据拷贝之前被覆盖的方法

六、模拟实现memmove函数


前言:

上一篇博客,我们已经对memcpy函数进行了学习,也指明了memcpy函数不能支持源位置与目标位置相交的情况的拷贝,而在这种情况下,我们就要使用memmove函数了。所有今天我们来深入学习memmove函数。希望大家可以认真看完。

一、头文件

memmove函数的头文件是和memcpy函数的头文件相同的,都是<cstring>(string.h),同样同样memmove函数也是面向所有数据类型的,故也称其为内存函数

C语言

#include <string.h>

C++

#include <cstring>

二、memmove函数的作用

将 num 字节的数据从 source 指向的位置复制到 destination 指向的内存块。复制就像使用中间缓冲区一样进行,从而允许目标位置源位置重叠

三、理解memmove函数的定义

void * memmove ( void * destination, const void * source, size_t num );

1、返回类型

在C语言标准库函数的定义中,memmove函数的返回类型为一个void*的指针,用于返回目标位置的地址由于void*指针的数据类型不固定性,可用于返回所有类型的数据

2、参数

在C语言标准库函数的定义中,memmove函数的参数有三个,第一个为void*destination(不固定类型的指针)用于接收目标位置的地址;第二个为const void*source(不固定类型的指针,前用const修饰,使程序不可通过该指针更改其指向的数据)用于接收源头位置的地址;第三个为size_t num用于表示要拷贝的数据的大小,单位是字节。

四、使用memmove函数

案例1:

#include <string.h>
int main()
{int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };memmove(arr1, arr1 + 2, 20);return 0;
}

函数代码运行前的监视结果: 

函数代码运行后的监视结果: 

案例2:

#include <string.h>
int main()
{int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };memmove(arr1 + 2, arr1, 20);return 0;
}

 函数代码执行前的监视结果:

函数代码执行后的监视结果:

* 这里强调一下,在案例2中若使用memcpy函数其执行结果将为:

为什么会出现这种情况?

因为从memcpy函数的实现代码可知,在memcpy函数中数组的元素3、4、5已经在对其进行拷贝之前,便已经被1、2覆盖掉了。 这便是memcpy函数定义的局限性。

五、解决数据拷贝之前被覆盖的方法

对会被覆盖的数据,先进行拷贝;对不会被覆盖的数据,后进行拷贝。而要完成这点,必须区分源头位置与目标位置的第一个元素的大小。

六、模拟实现memmove函数

#include <assert.h>void* my_memmove(void* dest, const void* src, size_t num)
{void* ret = dest;assert(dest && src);if (dest < src){//从前往后while (num--){*(char*)dest = *(char*)src;dest = (char*)dest + 1;src = (char*)src + 1;//*((char*)dest)++ = *((char*)src)++;}}else{//从后往前while(num--){*((char*)dest + num) = *((char*)src + num);}}return ret;
}

解释:

当源位置地址大于目标位置地址,从前往后拷贝,否则从后往前拷贝。(要是不太理解,可以试着用画图来表示数据的拷贝过程)

每日一学,今天你又超过了百分之九十九的人。

如果本篇文章对你有帮助,请点个关注和赞吧!

如果对本篇文章有疑惑,欢迎在评论区讨论。

注:“每天学习一个字符串类函数”类型文章已整理为专栏,欢迎大家订阅。

http://www.15wanjia.com/news/182930.html

相关文章:

  • 苏州网站建设网站wordpress性能检测
  • 作品网站wordpress文章总是被修改
  • 下载58同城网招聘找工作seo分析与优化实训心得
  • 做网站选择哪家运营商外贸平台有哪些是免费的直接可以发布售卖产品的
  • 平坝网站建设天津工商网上办事大厅
  • 宁波外贸网站推广个人网站后台管理
  • 互联网网站建设新闻中建国际建设有限公司官网
  • 鹤壁市住房和城乡建设局网站免费网站开发软件有哪些
  • 模板网站也可以做优化黄圃网站建设
  • 企业网站需求文档南宁 建网站
  • 网站建设关键词优化价格推介做界面的网站
  • 万网做网站怎么样阳江彭志雄
  • 二维码制作网站有哪些网站建设请示怎么写
  • 搭建网站大概多少钱广州网站推广奋
  • 渭南市住建设局网站vps 建网站
  • 余杭区高端网站建设南昌百度推广优化排名
  • 企业网站建设解决方案包装设计模板
  • 任丘建设网站制作品牌营销推广代运营
  • 网站备案幕布照片ac域名网站
  • 四川城乡住房建设部网站做网站 业务流程图
  • 网站建设公司专业网站开发制作郑州小企业网站建设
  • 淘宝网站开发网站的登录注册页面怎么做的
  • 做网站刷赞qq怎么赚钱成都设计公司税率
  • 网站最合适的字体大小如何把刚做的网站被百度抓取到
  • 合肥网站制作推广清远专业网站建设服务
  • 宁波seo公司网站推广开发是什么意思
  • 免费凡科建站官网提供网站建设方案服务
  • 百度模板网站模板建设项目水资源论证网站
  • 绍兴柯桥哪里有做网站的jsp开发的网站
  • 手表电商网站网站界面设计软件