首页 > 系统相关 >关于内存函数的介绍

关于内存函数的介绍

时间:2024-03-27 15:59:44浏览次数:33  
标签:函数 memmove str2 str1 介绍 memcpy 复制 内存 void

1.memcpy

2.memmove

3.memset

4.memcmp

其中,重点讲解memcpy 以及memmove。

1.C 库函数:

 void *memcpy(void *str1, const void *str2, size_t n) 

函数作用:在 str2 复制 n 个字节到 str1。

其中,str1用于指向存储复制内容的目标数组

          str 2 指向要复制的数据源

            n : 要被复制的字节数

memcpy函数的模拟实现

将arr从第三个元素开始的四个元素拷贝到arr中

2.memmove函数:

void *memmove(void *str1, const void *str2, size_t n) 从 str2 复制 n 个字符到 str1

,和memcpy类似,

但是在重叠内存块这方面,memmove() 是比 memcpy() 更安全的方法。如果目标区域和源区域有重叠的话,memmove() 能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中,复制后源区域的内容会被更改。如果目标区域与源区域没有重叠,则和 memcpy() 函数功能相同。

代码示例:

C 库函数 void *memset(void *str, int c, size_t n) 

函数作用:复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。

该值返回一个指向存储区 str 的指针。

代码示例:

C 库函数 int memcmp(const void *str1, const void *str2, size_t n))

作用: 把存储区 str1 和存储区 str2 的前 n 个字节进行比较。

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str1 大于 str2。
  • 如果返回值 = 0,则表示 str1 等于 str2。

//代码示例:

标签:函数,memmove,str2,str1,介绍,memcpy,复制,内存,void
From: https://blog.csdn.net/kkksij/article/details/137076813

相关文章

  • HTML编程+函数的调用1
    原创:财院网站设计学习平台1.函数无参数<body><inputtype="submit"value="输入显示信息的次数:"onclick="showHello()"/><script>functionshowHello(){varcount=prompt("请输入显示信息的次数:");for(vari=1;i<=count;i++){......
  • 鸿蒙TypeScript入门学习第一天【简单介绍】
    1.TypeScript教程TypeScript是JavaScript的一个超集,支持ECMAScript6标准()。TypeScript由微软开发的自由和开源的编程语言。TypeScript设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何浏览器上。2、语言特性TypeScript是......
  • react零基础到精通-1|基础概念,主要特性,s6语法,react相关的开发环境和工具,react简介,箭头
    致力于解决复杂视图层开发我呢提,全新的ui组件的开发理念,1.1React简介前端UI的本质问题是如何将来源于服务器端的动态数据和用户的交互行为高效地反映到复杂的用户界面上。React另辟蹊径,通过引入虚拟DOM、状态、单向数据流等设计理念,形成以组件为核心,用组件搭建UI的开发......
  • 京东二面:Redis为什么快?我说Redis是纯内存访问的,然后他对我笑了笑。。。。。。
    引言Redis是一个高性能的开源内存数据库,以其快速的读写速度和丰富的数据结构支持而闻名。作为一个轻量级、灵活的键值存储系统,Redis在各种应用场景下都展现出了惊人的性能优势。无论是作为缓存工具、会话管理组件、消息传递媒介,还是在实时数据处理任务和复杂的分布式系统架构中,Re......
  • 函数重载
    includeusingnamespacestd;//重载满足条件,可以提高复用性//1.同一个作用域下//2.函数名称相同//3.函数参数类型或者个数不同或者顺序不同//注意函数的返回值不可以做为函数重载的条件voidfunc(){cout<<1<<endl;}voidfunc(inta)//参数不一样{cout<<2<<e......
  • C++复制构造函数、=运算符重载
    C++复制构造函数、=运算符重载#include<iostream>usingnamespacestd;classbase{private:intx,y;public:base():x(2),y(4){cout<<"basedefaultconstructor"<<endl;}base(intx,inty):x(x),y(y){cout<<"base......
  • ADAS 冒烟测试介绍与解决方案
    随着智能网联汽车市场的快速发展,各大汽车厂商为了提升产品的竞争力和满足消费者的需求,纷纷推出了具备丰富智驾功能的汽车产品,但同时产品快速升级过程中的软件迭代也为智驾控制器功能安全测试带来了不小的挑战。如何在快速迭代的软件更新过程中进行高效测试执行、提前发现软件BUG、......
  • 字符函数与字符串函数
    欢迎各位来指点我的博客哦!主页:趋早–Step专栏:C语言gitte网站:https://gitee.com/good-thg文章目录一、字符分类函数例题一例题二二、字符转换函数三、字符串函数1.strlen(1)strlen函数的使用(2)strlen函数的模拟实现计数器方式实现递归方式(不创建临时变量)指针-指针......
  • 【go从入门到精通】函数详解
    作者简介:    高科,先后在 IBMPlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。 (谢谢你的关注)---------------......
  • MindOpt APL 最新版本功能介绍,并且开放下载使用了!
    介绍MindOptAPL(简称MAPL)是阿里巴巴达摩院决策智能实验室研发的国内第一款拥有自主知识产权,完全自研的国产建模语言,在电力SCUC等领域问题上建模性能优秀,对标或超越已有产品,对比AMPL等建模语言,部分语法上更灵活简单,并且与MindoptStudio平台集成,可云上使用。版本更新内容......