C语言复习(9)——内存函数与数据在内存中的储存

 (1)memcpy函数的使用与模拟实现

     

特点:1、因为接受参数是void*类型,所以可以接受任意类型的数据;但是,在引用时必须强制类                  型转换

           2、memcpy处理的是两块不重叠的内存数据的拷贝

                memmove可以同时处理重叠与不重叠两块内存的拷贝

           3、对于memcpy函数,能否处理重叠部分内存数据取决于编译器本身(vs2022可以)

           4、内存重叠的定义:是指两个或者多个内存区域有部分或者全部地址空间是相同的情况

           

5、memcpy的模拟实现

**防止出现内存重叠,创建两个数组,开辟两块空间区域

(2)memmove函数的使用与模拟实现

1、

destination:目标空间

source:源头空间

size_t num:字节数

同样可以接受任何类型的数据,使用需要强制类型转换

2、memmove的模拟实现

两种情况:1、dest<src   由前往后

                  2、dest>src   由后往前

(3)memset函数的使用

1、ptr→destination   value→source

2、疑问:为什么我们传的是char类型字符,却使用int类型接收?

解答:因为char类型也是整型家族的,可以直接用int接受的;并且字符是以ascii码存储的ascii码就是整型数字;在传输的时候发生了转化;char的范围比较小int范围比较大,类型又一样,转换一点问题没有的

(4)memcmp函数的使用

1、整型转化成字节倒着存(大端存储)

2、内存比较,内存里的数据比较

(5)整数在内存中的存储

  1、 整数在在内存中的储存,三种:原码、反码、补码

        正整数原反补码都相同

        负整数原反补码都不相同(详情见操作符章节)

   

(6)大小端字节序和字节序判断

以0x11223344举例

11端为高位字节     44端为低位字节

———————————————

低地址                                 高地址

   自己整理的口诀:大相反,小相同

数据的读取:大多数情况下,读取数据是从低地址开始向高地址读取;对一些复杂情况,例如:                          结构体类型,可能并不是这样

数据的存储:首先要区分字节序;大端:从低地址开始按照字节序的高位到低位存储

                                                      小端:从低地址开始按照字节序的低位到高位存储

总结:读取和存储都是从低地址开始;但是存储时要区分字节序

(7)浮点数在内存中的储存

   1、 浮点数家族:float、double、long double

   通过浮点数和整数打印的解读结果差别很大,原因如下

   

举例:5.0的二进制形式101.0==1.01*2^2

                                S=0;M=1.01;E=2

2、在储存中有一些特殊规定

MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值