【C语言】内存函数

ops/2024/10/10 13:25:52/

文章目录

  • memcpy使用和模拟实现
  • memmove使用和模拟实现
  • memset函数的使用
  • memcmp函数的使用

注意:针对内存块,不在乎内存中的数据

memcpy使用和模拟实现

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

• 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。
• 这个函数在遇到 ‘\0’ 的时候并不会停下来。
• 如果source和destination有任何的重叠,复制的结果都是未定义的。

在这里插入图片描述
对于重叠的内存,交给memmove来处理。
memcpy函数的模拟实现:
在这里插入图片描述

memmove使用和模拟实现

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

• 和memcpy的差别就是memmove函数处理的source内存块和destination内存块是可以重叠的。
• 如果source空间和destination空间出现重叠,就得使用memmove函数处理。
在这里插入图片描述
memmove的模拟实现:
在这里插入图片描述

在这里插入图片描述

memset函数的使用

void * memset ( void * ptr, int value, size_t num );

memset是用来设置内存的,将内存中的值以字节为单位设置成想要的内容。
在这里插入图片描述

memcmp函数的使用

 int memcmp ( const void * ptr1, const void * ptr2, size_t num );

• 比较从ptr1和ptr2指针指向的位置开始,向后的num个字节
• 返回值如下:
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/ops/123518.html

相关文章

线性判别器LDA

一、LDA的基础介绍 LDA是一种有监督的降维方法,和它比较类似的是PCA(一种无监督的降维方法),如果对PCA不熟悉的朋友可以看看下面关于PCA的介绍。 1、PCA介绍和基本思想 ​ 主成分分析(PCA)是一种利用正交变换把由线性相关变量表示的观测数据转化为少数…

获取时隔半个钟的三天

摘要&#xff1a; 今天遇到需求是配送时间&#xff0c;时隔半个钟的排线&#xff01;所以需要拼接时间&#xff01;例如2024-10-08 14&#xff1a;30&#xff0c;2024-10-08 15&#xff1a;00&#xff0c;2024-10-08 15&#xff1a;30 <el-form-item label"配送时间&a…

服务器源IP暴露后的安全风险及防御措施

在互联网安全领域&#xff0c;服务器的源IP地址泄露可能成为黑客攻击的切入点。本文将列举十种常见的攻击类型&#xff0c;并提供相应的防御建议&#xff0c;帮助管理员们更好地保护服务器免受潜在威胁。 一、引言 服务器源IP地址的暴露意味着攻击者可以直接针对服务器发起攻击…

浅谈2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者

目录 1.概述 1.1. 跨学科的融合 1.2. 推动科学研究的工具 1.3. 对科学界的激励 1.4. 技术的社会影响 2.机器学习与神经网络的发展前景 2.1.具体应用与作用 2.1.1. 医疗健康 2.1.2. 金融 2.1.3. 制造业 2.1.4. 交通与物流 2.1.5. 零售 2.2.未来展望 2.3.科学研究与…

U mamba配置问题;‘KeyError: ‘file_ending‘

这个错误仍然是因为在 dataset_json 中找不到 file_ending 键。请尝试以下步骤&#xff1a; 检查 JSON 文件&#xff1a;确认 JSON 文件中确实有 file_ending&#xff0c;并且它的拼写完全正确。 打印 JSON 内容&#xff1a;在抛出异常之前&#xff0c;添加打印语句输出 datas…

红帽操作系统Linux基本命令2( Linux 网络操作系统 06)

本文接着上篇Linux常用命令-1继续往后学习其他常用命令。 2.3 目录操作类命令 1&#xff0e;mkdir命令 mkdir命令用于创建一个目录。该命令的语法为&#xff1a; 上述目录名可以为相对路径&#xff0c;也可以为绝对路径。 mkdir命令的常用参数选项如下。 -p&#xff1a;在创…

红黑树学习

红黑树: k v 方式 用在哪里&#xff1a; 1.hash 强查找的过程&#xff1a; 1.rbtree 2.hash 3.b/b tree 4.链表 红黑树&#xff1a; 1.每个结点是红的或者是黑的 2.根结点是黑的 3.每个叶子结点是黑的 4.如果一个结点是红的&#xff0c;则它的两个儿子是黑的 5.对每个节点&…

【AGC005D】~K Perm Counting(计数抽象成图)

容斥原理。 求出f(m) &#xff0c;f(m)指代至少有m个位置不合法的方案数。 怎么求&#xff1f; 注意到位置为id&#xff0c;权值为v ,不合法的情况&#xff0c;当且仅当 v idk或 v id-k 因此&#xff0c;我们把每一个位置和权值抽象成点 &#xff0c;不合法的情况之间连一…