1.memcpy使用和模拟实现
void * memcpy ( void * destination ,const void * source ,size_t num);
目标空间的地址 源空间的地址 被拷贝的字符个数
返回的是目标空间的起始地址
1)不确定拷贝的是什么类型的数据,用void*,void* 的指针不能直接运算,无具体类型的指针
2)函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置
3)这个函数遇到 \0 的时候不会停下来
4)memory函数不负责重叠内存的拷贝,只负责不重叠的内存
非要负责重叠内存的拷贝,结果是未定义的
使用
2.memmove的使用和模拟实现
memmove处理的源内存块和目标内存块是可以重叠的
void * memmove( void * destination ,const void * source,size_t num);
使用
3.memset函数的使用
void * memset ( void * ptr , int value , size_t num);
是用来设置内存的,将内存中的值以字节为单位设置成想要的内容
使用
4.memcmp 函数的使用
int memcmp ( const void * ptr1 , const void * ptr2 , size_t num);
比较从ptr1和ptr2指针指向的位置开始,向后的num个字节
使用
<0
0
>0