<memory.h>
是一个 C 标准库头文件,提供了一组内存管理函数,用于分配、释放和操作动态内存。这些函数主要操作的是未初始化的内存块,是早期 C 编程中常用的内存操作工具。
尽管在现代 C++ 编程中更推荐使用<cstring>
或<memory>
,但<memory.h>
在兼容性和某些低级场景下仍然可能被使用。
以下是对<memory.h>
中核心内容的详解:
核心功能与函数
memory
void* memcpy(void* dest, const void* src, size_t n);
- 功能: 将
n
字节的数据从源地址src
复制到目标地址dest
。 - 注意事项:
- 源地址和目标地址不能重叠,如果存在重叠,行为未定义。
- 通常用于快速内存复制。
- 示例:
char src[] = "hello";
char dest[10];
memcpy(dest, src, sizeof(src));
memmove
void* memmove(void* dest, const void* src, size_t n);
- 功能: 将
n
字节的数据从源地址src
移动到目标地址dest
。 - 区别于
memcpy
: 允许源地址和目标地址重叠。 - 示例:
char buffer[] = "abcdef";
memmove(buffer+2, buffer,