memcpy
拷贝一块连续的内存空间(num个字节)
void* my_memcpy(void* dest, const char* src, size_t num) {
assert(dest != NULL);
assert(src != NULL);
assert(num != 0);
char* cdest = (char*)dest;
const char* csrc = (const char*)src;
for (size_t i = 0; i < num; i++) {
cdest[i] = csrc[i];
}
return dest;
}
memset
把一块内存空间以字节为单位填入某个值
void* my_memset(void* ptr, int value, size_t num) {
assert(ptr != NULL);
assert(num != 0);
char* cptr = (char*)ptr;
for (size_t i = 0; i < num; i++) {
cptr[i] = (char)value;
}
return ptr;
}