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

桂林两江四湖景区导游词seo技术 快速网站排名

桂林两江四湖景区导游词,seo技术 快速网站排名,网页游戏怎么下载,wordpress图片整站内存函数 一、memcpy使用和模拟实现1.1参数1.2 使用1.3 模拟实现 二、memmove使用和模拟实现2.1 参数2.2 使用2.3 模拟实现 三、memset使用3.1 参数3.2 使用 四、memcmp使用4.1 参数4.2 使用 一、memcpy使用和模拟实现 1.1参数 因为内存中不知道存的是什么类型的地址&#xff…

内存函数

  • 一、memcpy使用和模拟实现
    • 1.1参数
    • 1.2 使用
    • 1.3 模拟实现
  • 二、memmove使用和模拟实现
    • 2.1 参数
    • 2.2 使用
    • 2.3 模拟实现
  • 三、memset使用
    • 3.1 参数
    • 3.2 使用
  • 四、memcmp使用
    • 4.1 参数
    • 4.2 使用

一、memcpy使用和模拟实现

1.1参数

在这里插入图片描述

  • 因为内存中不知道存的是什么类型的地址,所以函数的参数以及返回值都是void类型。
  • 第一个参数是要拷贝到哪;第二个参数是从哪里拷贝;第三个参数是要拷贝的数据长度。
  • 该函数不会检查是否有终止字符‘\0’,它会准确地复制num长度的数据。
  • 为了避免溢出,destination和source的长度应至少为num。
  • destination和source不能有重叠。

1.2 使用

在这里插入图片描述

1.3 模拟实现

void my_memcpy(void* arr2, void* arr1, size_t num)
{while (num--){*(char*)arr2 = *(char*)arr1;((char*)arr2)++;((char*)arr1)++;}
}int main()
{int arr1[] = { 1,2,3,4,5,6 };int arr2[2];my_memcpy(arr2, arr1, 8);int i = 0;for (i = 0;i < 2;i++){printf("%d ", arr2[i]);}return 0;
}

在这里插入图片描述
在模拟实现时,重点是对数据的拷贝,因为内存中存放的数据不知道其类型,因此我们把数据分成最小的单元也就是1个字节,对应char类型数据,因此将void类型强制转换成char类型的数据,然后通过while循环,遍历num个字节长度的数据,实现一定量数据的拷贝。

二、memmove使用和模拟实现

2.1 参数

在这里插入图片描述

  • 注意:memmove和memcpy的区别就是,memmove所指向的两块空间可以有重叠。

2.2 使用

在这里插入图片描述

2.3 模拟实现

//展示其中一种特例
#include <assert.h>void my_memmove(void* arr2, void* arr1, size_t num)
{assert(arr1 && arr2);if (arr1 <= arr2){while (num--){*((char*)arr2 + num) = *((char*)arr1 + num);}}else{while (num--){*((char*)arr2) = *((char*)arr1);((char*)arr2)++;((char*)arr1)++;}}
}int main()
{int arr1[] = { 1,2,3,4,5,6 };my_memmove(arr1, arr1+1, 8);int i = 0;for (i = 0;i < 5;i++){printf("%d ", arr1[i]);}return 0;
}
}

在这里插入图片描述

  • 注意:在进行memmove的模拟实现时,应考虑重叠的情况,例如对一个字符串进行调整时,可能会出现:source地址分别>、<、=destination地址的情况,因此需要分情况来讨论。

三、memset使用

3.1 参数

在这里插入图片描述

  • 参数一是一个指向所要修改的内存的地址;参数二是要修改成什么数值;参数三是修改几个字节个长度的数据。

3.2 使用

在这里插入图片描述

四、memcmp使用

4.1 参数

在这里插入图片描述

  • 参数一和参数二是要比较的两个数据的地址;参数三是要比较的数据的长度。
  • 内存1>内存2,打印一个大于0的数字;内存1<内存2,打印一个小于0的数字;内存1=内存2,打印0。

4.2 使用

在这里插入图片描述
比较的是12个字节,也就是前三个数字的大小,数组2的前三个数字比数组1前三个数字大,所以打印小于0的数字,-1。

http://www.dtcms.com/wzjs/222216.html

相关文章:

  • 武汉专业网站建设推广拉新推广一手接单平台
  • 哪些做任务的网站靠谱西安seo外包平台
  • Wordpress 转发后查看重庆seo服务
  • 陕西省档案馆建设网站win10优化大师
  • 没有备案的网站百度能收录吗设计一个公司网站多少钱
  • 网站建设 化工做网页设计一个月能挣多少
  • 专业提供网站建设服务如何自己创建一个网站
  • jsp做网站项目推广方案
  • 网页设计 网站云搜索网页版入口
  • 佛山林镜全北京seo优化方案
  • 广州门户网站开发百度免费发布信息网站
  • 闵行做网站的公司天津站内关键词优化
  • 深圳黄页企业名录seo排名培训学校
  • 邯郸关键词推广微博关键词排名优化
  • 做百度网站优化多少钱上海网络推广外包公司
  • 那个网站可以做考卷搜索引擎营销的主要方法包括
  • 免费网站空间怎么做高权重网站出售
  • 母婴网站 模板百度广告联盟点击一次多少钱
  • 做百度移动端网站优化网络营销推广方案设计
  • 全网营销网站宁德市人社局官网
  • 扬中网站推广如何在百度上做广告
  • 龙口做网站联系电话互联网营销师课程
  • 花垣做网站网络精准推广
  • 山东兴华建设集团有限公司网站拼音网站推广优化排名公司
  • 企业网站 生成html保健品的营销及推广方案
  • 网站建设属营改增范围吗属于seo网站优化
  • 可以做外链的网站网站建设制作专业
  • 手机网站建设报价表网站关键词优化工具
  • 个人网站web模板怎么制作链接网页
  • 网站主页的要素搜索引擎关键词seo优化公司