目录
1)memcpy
memcpy是内存拷贝函数,其不同于strncpy在于其能拷贝任意数组;
形式:void* memcpy(void* destinatoin,char* source,size_t num);destination是目标空间地址,source是源空间地址;num是拷贝的元素个数;其返回的是目标空间的起始地址;
注意:memcpy是从source的位置开始向后赋值num个字节的数据到destination指向的内存空间;这个函数在遇到\0的时候会自动停止;如果source和destination有任何重叠,复制的结果都是未定义的,即不建议使用memcpy(arr1,arr1,num);
1)memcpy的模拟实现
对于不同类型的数组在模拟的时候,需要注意返回的指针类型;
2)memmove
memove可以完成内存的移动,其可以用来处理重叠内存的拷贝;和memcpy的差别就是memmove函数处理的源内存块和⽬标内存块是可以重叠的。
形式:void* memmove(void* arr1,void* arr2,size_t num);
mommove可以代替memcpy;
2)memmove的模拟实现
3)memset
memset函数是用来设置内存的,将内存中的值以字节为单位设置成想要的内容;
形式:void* memset(void* ptr,int value,size_t num);value代表一个字符或数值;ptr是修改的起始位置;
4)memcmp
比较数组的大小;形式:int memcpy(const void* ptr1,const void* ptr2,size_t num);
与strncpy相似;ptr1大于ptr2返回大于0的数,等于返回0;
标签:函数,memmove,void,C语言,source,num,内存,memcpy From: https://blog.csdn.net/2401_87944878/article/details/143607367