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