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

1.memcpy( )函数

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

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

C语言 - 详解内存操作函数_第1张图片

2.memmove( )函数

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

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

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

C语言 - 详解内存操作函数_第2张图片

C语言 - 详解内存操作函数_第3张图片

 
3.memset( )函数

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

C语言 - 详解内存操作函数_第4张图片

内存:
执行前:                                   执行后:
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( )函数进行模拟实现,代码如下:

C语言 - 详解内存操作函数_第5张图片

C语言 - 详解内存操作函数_第6张图片

 

你可能感兴趣的:(c语言)