#include<stdio.h> //将内存里面的数据进行移动 void move_buf(int *source, int *dest, int len) { //先判断源和目的地址是否有交集 if (source + len > dest) { while (len--) { dest[len] = source[len]; //则从后往前进行复制,防止改变前面有交集的部分 } } else //没有交集时,则从头开始复制 { while (len--) { *dest++ = *source++; } } } int main() { int num[10] = { 1,2,3,4,5,6,7,8,9,10 }; move_buf(&num[3], &num[7], 2); int i = 0; for (i = 0; i++; i < 10) { printf("%d", num[i]); } system("pause"); } #include<stdio.h> //将内存里面的数据进行交换,len长度的头变成尾,尾变成头 void swap_buf(int *source,int len) { int temp_data = 0;//临时数据,用来存放数据交换时的临时数据。 int i; for (i = 0; i < len / 2; i++) { temp_data = source[i]; source[i] = source[len - i-1]; source[len