面试:实现内存复制函数
面试中面试官经常会让写程序,根据题目的难度会在算法和编程习惯上各有侧重。比如写一个memcpy函数,这个题算法简单明确,因此重点考察编程习惯、工程思想。
该题目的算法如下
0.1
void* memcpy(void *dst, const void *src, size_t count){assert(dst != NULL);assert(src != NULL);unsigned char *pdst = (unsigned char *)dst;const unsigned char *psrc = (const unsigned char *)src;assert(!(psrc<=pdst && pdst<psrc+count));assert(!(pdst<=psrc && psrc<pdst+count));while(count--){*pdst = *psrc;pdst++;psrc++;}return dst;}