我发现了这样的代码:
#include <stdio.h>
int main() {
char buffer[20];
for(int i=0;i<20;i++)
{
memcpy(buffer+i, "H", 1);
}
}
我不明白的是为什么会有 : buffer + i 以及最后的 1 是什么意思?谁能给我解释一下
最佳答案
buffer + i
是指向距buffer
偏移i
个字符的内存位置的指针。它相当于&buffer[i]
。- 末尾的
1
表示复制1个字节。 - 请记住,由于您仅复制 1 个字节,因此您并未复制
"H"
的空终止字符。
关于c - memcpy 函数有些奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32978820/