C语言 - 详解内存操作函数

1.memcpy( )函数

memcpy( )函数可以把内存中的数据进行拷贝,拷贝的数据类型可以是int类型、char类型、sturct类型等等。这就是memcpy( )函数与strcpy( )函数的最大区别。因为strcpy( )函数只能对char类型的数据进行拷贝。

对memcpy( )函数进行模拟实现,代码如下:

2.memmove( )函数

memmove( )函数和memcpy( )的函数差别:

memmove( )函数处理的源内存块和目标内存块是可以重叠的。当进行拷贝时,如果源空间和目标空间出现重叠,就得使用memmove函数处理,如果使用memcpy( )函数,程序可能崩溃。

对memmove( )函数进行模拟实现,代码如下:

 
3.memset( )函数

对memset( )函数进行模拟实现,代码如下:

内存:
执行前:                                   执行后:
0x0058FAA0 44 33 22 11        0x0058FAA0 06 06 06 06
0x0058FAA4 11 22 33 44        0x0058FAA4 06 06 06 06
0x0058FAA8 03 00 00 00        0x0058FAA8 06 06 06 06
0x0058FAAC 04 00 00 00       0x0058FAAC 06 06 06 06
0x0058FAB0 05 00 00 00        0x0058FAB0 06 06 06 06

4.memcmp( )函数

memcmp( )函数的实现和strcmp( )函数的实现大同小异。

对memcmp( )函数进行模拟实现,代码如下:

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值