c - memcpy 函数有些奇怪

标签 c function memcpy

我发现了这样的代码:

#include <stdio.h>
int main() { 
    char buffer[20];
    for(int i=0;i<20;i++)
    {
        memcpy(buffer+i, "H", 1);
    }
}

我不明白的是为什么会有 : buffer + i 以及最后的 1 是什么意思?谁能给我解释一下

最佳答案

  1. buffer + i 是指向距 buffer 偏移 i 个字符的内存位置的指针。它相当于&buffer[i]
  2. 末尾的1表示复制1个字节。
  3. 请记住,由于您仅复制 1 个字节,因此您并未复制 "H" 的空终止字符。

关于c - memcpy 函数有些奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32978820/

相关文章:

c - C语言中如何使用chroot函数?

c - for 循环将只执行一个循环

jquery - 从 jQuery 函数返回值

c - 用零填充 C-Array,然后将数据复制到其中

opencl - 内存复制速度对比 CPU<->GPU

c++ - memcpy 将 float 转换为 int

c - 逐行读取直到找到整数 C

c++ - 如何使用 OpenCv 叠加图像?

c++ - "const"函数有什么用?

php - mysql_fetch_object() 的错误处理 : supplied argument is not a valid MySQL result