笔试题02-自己实现memcpy
时间:2010-11-07 来源:guocai_yao
原型:extern void *memcpy(void *dest, void *src, unsigned int count); |
2. 内存布局情况 1)源地址和目的地址不重叠; low--------------->high(大端模式) src
|------------|
|-----------| |------------|
dest dest
2)源地址和目的地址重叠;
src
|---------------------|
|---------------------|
dest
3. 实现
如果没有重叠,直接从源地址的开始方向复制;如果目标地址在源区域内(dest>src && dest<src+count),那就会发生重叠,从源地址的末尾开始反方向复制。
4.源码(C实现,VC6.0)
#include <stdio.h>
//目的地址和源地址不重叠,从源地址的开始方向拷贝 |
5. 参考目录 1. http://www.chinaitpower.com/A/2001-10-17/2036.html 2. http://blog.csdn.net/gengshenghong/archive/2010/05/30/5634776.aspx 3. http://www.cublog.cn/u3/115019/showart_2247758.html