memcpy
理解了memcpy的原理memmove也就好理解 了
void* memcpy(void* dst, const void* src, size_t count)
先看memcpy参数
void* dst(目的地)
const void* src(源头)
size_t count(要复制多少个字节)
设置void的原因是为了,可以复制所有类型
内存最小单位是字节
只要一个字节一个字节复制过去,就可复制所有类型
开始写代码
void* memmcpy(void* dst, const void* src, size_t count) {
void* ret = dst;
while (count--) {
*(char*)dst = *(char*)src;
(char*)dst= (char*)dst+1;
(char*)src= (char*)src+1;
}
return ret;
}
因为要返回起始地址,先保存一下dst,等代码结束后返回去,不保存的话之后找不到
while(count--),循环count次
之后强制类型转换成char*类型(char