C语言 memmove
功能:拷贝src所指的内存内容的前n个字节到dest所值的内存地址上。
注:功能用法和memcpy()一样,区别在于:dest和src所指的内存空间重叠时,memmove()仍然能处理,不过执行效率比memcpy()低些。
案例
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> int main(void) { // 内存重叠使用memove int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; memmove(&arr[5], &arr[3], 20); for (int i = 0; i < 10; i++) { printf("%d ", arr[i]); } return 0; }