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

开心消消乐官方网站开发公司国家企业公示网入口官网登录

开心消消乐官方网站开发公司,国家企业公示网入口官网登录,重庆网站建设招聘信息,深夜小网站👦个人主页:Weraphael ✍🏻作者简介:目前是C语言学习者 ✈️专栏:C语言航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&a…

在这里插入图片描述

👦个人主页:@Weraphael
✍🏻作者简介:目前是C语言学习者
✈️专栏:C语言航路
🐋 希望大家多多支持,咱一起进步!😁
如果文章对你有帮助的话
欢迎 评论💬 点赞👍🏻 收藏 📂 加关注


前言

以下函数的查阅资料都在cplusplus网站

目录

  • 前言
  • 一、memcpy
      • (1)memcpy函数介绍
      • (2)memcpy函数用法
      • (3)memcpy函数模拟实现
      • (4)memcpy函数注意事项
  • 二、memmove
      • (1)memmove函数介绍
      • (2)memmove函数用法
      • (3)memmove函数模拟实现
  • 三、memcmp
      • (1)memcpy函数介绍
      • (2)memcpy函数用法
  • 四、memset函数

一、memcpy

(1)memcpy函数介绍

在这里插入图片描述

  • 功能:内存拷贝

(2)memcpy函数用法

memcpy的意义和strcpy、strncpy是一样的。
不同的是:strcpy和strncpy只能拷贝字符串,而memcpy既能拷贝字符串,也能拷贝整型等等

【拷贝整型】
在这里插入图片描述

【拷贝字符串】
在这里插入图片描述

(3)memcpy函数模拟实现

在这里插入图片描述

几个问题

  1. 函数返回类型为void*,是因为memcpy需要返回目标空间的起始地址
  2. destsrc的类型都为void*,是因为memcpy可以拷贝任意类型,而void*恰好可以结束任意类型的地址(指针)。这一块可参考qsort的模拟实现 点击跳转
  3. 由于类型不确定,所以只能一个字节一个字节交换内容,这一块同样参考qsort的模拟实现

(4)memcpy函数注意事项

  • 要保证目标空间足够大
  • 函数在遇到‘\0’的时候不会停下来
  • 如果sourcedestination有任何重叠,复制的结果是未定义
    在这里插入图片描述
    所以,如果想要重叠拷贝,需要用memmove(下面会介绍)

二、memmove

(1)memmove函数介绍

在这里插入图片描述

功能:移动内存块

(2)memmove函数用法

用法其实和memcpy一样,能移动字符、整型等类型

在这里插入图片描述

(3)memmove函数模拟实现

memmove需要分三种情况讨论

当source在前,destination在后时

在这里插入图片描述

最好的办法就是从destination的4开始往前拷贝,这样就不会导致复制的结果是未定义

在这里插入图片描述

当source在后,destination在前时
在这里插入图片描述
最好的办法就是从destination的9开始往后拷贝
在这里插入图片描述
当source和destination未重叠时
在这里插入图片描述
既可以从前开始拷贝,也能从后开始拷贝


【代码实现】

#include <stdio.h>
#include <string.h>
void* my_memmove(void* dest, void* src, size_t num)
{void* res = dest;if (dest < src){//从前向后拷贝(和memcpy一模一样)while (num--){*(char*)dest = *(char*)src;dest = (char*)dest + 1;src = (char*)src + 1;}}else{//从后向前拷贝while (num--){*((char*)dest + num) = *((char*)src + num);}}
}
int main()
{int a[20] = { 10,9,8,7,6,5,4,3,2,1 };//将a中的8,7,6,5 拷贝到 amy_memmove(a, a+2,16 );for (int i = 0; i < 10; i++){printf("%d ", a[i]);}printf("\n");return 0;
}

在这里插入图片描述

三、memcmp

(1)memcpy函数介绍

在这里插入图片描述

功能 :比较从ptr1和ptr2开始的num个字节

(2)memcpy函数用法

用法其实和strcmp、strncmp差不多 ->点我跳转

在这里插入图片描述

在这里插入图片描述

四、memset函数

功能:内存设置函数(以字节为单位来设置内存中的数据)
memset函数在以往博客有讲解到 -> 传送门

http://www.yayakq.cn/news/435451/

相关文章:

  • 做网站站长开通vip做网站需要的东西
  • 简洁高端网站模板psd天门做网站
  • 网站开发用C制作网站的方法
  • 谷歌网站地图生成学生个人网页制作代码模板
  • 房山建设网站wordpress中文版和英文版
  • 湛江模板建站系统东莞seo建站优化收费
  • 南京自助网站推广建站建设银行企业网上银行
  • 上海企业网站优化专业的营销型网站最新报价
  • 百度做网站房产网有哪些网站
  • 网站怎么做飘窗wordpress主题显示不
  • 建设知道购物网站什么网站都能打开的浏览器
  • wordpress 知名站点公司网站开发视频教程
  • 深圳aso优化怎么提高seo排名
  • 青岛市崂山区城乡建设局网站施工企业财务管理制度
  • 漂亮的网站设计洛阳做网站的
  • 建网站是什么专业类别军用棉被门网站建设
  • 网站广告联盟平台可以自己做漫画的软件
  • 成都什么是网站建设网站建设基础
  • 茂名营销型网站建设北京网站seo技术厂家
  • 免费发布信息平台有哪些郑州seo关键词优化公司
  • 网站运营之怎样做好seo优化有没有做的很炫的科技型网站
  • 济宁手机网站开发公司3d效果图设计制作
  • 做网站动态效果心得wordpress文档结构
  • 网站管理员工作总结万网如何建设网站
  • 家具商务网站策划案网站移动端自适应
  • asp.net 网站开发实例医院网站建设基本功能
  • 源码出售平台电影站的seo
  • 网站开发费用计入科目视频制作用什么软件
  • 如何不花钱开发网站昆明网站建设天软科技
  • 技术支持 东莞网站建设鞋子网站后台账号密码