解析 memmove() 函数

 

函数名: memmove

头文件:

函数原型:   void *memcpy(void *str1, const void *str2, size_t n)              

功 能:   从存储区 str2 复制 n 个字节到存储区 str1

参 数: str1 — 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。

            str2 — 指向要复制的数据源,类型强制转换为 void* 指针。

            n — 要被复制的字节数。

返回值:  该函数返回一个指向目标存储区 str1 的指针。

 函数表达:

#include
#includevoid* my_memmove(void* dest, const void* src, size_t count){void* ret = dest;assert(dest != NULL);assert(dest != NULL);if (dest < src){//前->后while (count--){*(char*)dest = *(char*)src;++(char*)dest;++(char*)src;}}else{//后->前while (count--){*((char*)dest + count) = *((char*)src + count);}}return ret;}int main()
{int i = 0;int arr3[] = {1,2,3,4,5,6,7,8,9,10};my_memmove(arr3 + 2,arr3, 20);for (i = 0; i < 10; i++){printf("%d ", arr3[i]);}return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部