文章目录
前言
本篇文章介绍c语言库函数memcpy()、memmove()、memcmp()、memset()的使用。
一、库函数memcpy()
1.1 memcpy()介绍
memcpy()实现的是内存块拷贝。
下面是cplusplus网站关于这个库函数的介绍以及使用
说明:
- 从source指向的内存块拷贝num个字节到destination指向的内存块中。
- source和destination的指针类型可以是任何类型,因为拷贝的是二进制数据。
- memcpy()不会在source检查终止字符,永远拷贝num个字节。
- memcpy()一般用于拷贝两个独立的内存块。
使用:
- 两个独立内存块的拷贝
- 重叠内存块的拷贝(重叠内存块:指destination和source指向同一块内存)
1.2 memcpy()模拟实现
代码实现:
#include<assert.h>
void* my_memcpy(void* destination, const void* source, size_t num)
{
assert(destination && source); //空指针判断
void* dest = destination;
while (num--