【C】memory 详解

<memory.h> 是一个 C 标准库头文件,提供了一组内存管理函数,用于分配、释放和操作动态内存。这些函数主要操作的是未初始化的内存块,是早期 C 编程中常用的内存操作工具。

尽管在现代 C++ 编程中更推荐使用<cstring><memory>,但<memory.h>在兼容性和某些低级场景下仍然可能被使用。

以下是对<memory.h>中核心内容的详解:

核心功能与函数

  1. 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));
  1. memmove
void* memmove(void* dest, const void* src, size_t n);
  • 功能:n字节的数据从源地址src移动到目标地址dest
  • 区别于memcpy 允许源地址和目标地址重叠。
  • 示例:
char buffer[] = "abcdef";
memmove(buffer+2, buffer,