intmain(){//设置1个字节,或1个字符,即char类型//多用于清空或置0memset(arr,0,10*sizeof(int));//0,0,0,0,0,0,0,0,0,0memset(arr,1,10*sizeof(int));//每个字节改写成1,即0000 00001,int四个字节:0x01010101=十进制16843009for(int i =0; i <sizeof(arr)/sizeof(arr[0]); i++){printf("%d ",*p1);
p1++;}return0;}
#include<stdio.h>#include<corecrt_memory.h>#include<string.h>voidMove(char* des,char* src,int len){int i;//没有内存重叠if(src < des && src + len <= des || des < src && des + len <= src){for(i =0; i < len; i++){
des[i]= src[i];}}//有内存重叠else{if(src < des)//从后往前{for(i = len -1; i >=0; i--){
des[i]= src[i];}}else//从前往后{for(i =0; i < len; i++){
des[i]= src[i];}}}}
#include<stdio.h>#include<corecrt_memory.h>#include<string.h>voidMoveint(int* des,int* src,int len)//从src拷贝len个长度的数据到des{int i;//没有内存重叠if(src < des && src + len <= des || des < src && des + len <= src){for(i =0; i < len; i++){
des[i]= src[i];}}//有内存重叠else{if(src < des)//源地址小于目标地址,从后往前拷贝{for(i = len -1; i >=0; i--){
des[i]= src[i];}}else//源地址大于目标地址,从前往后拷贝{for(i =0; i < len; i++){
des[i]= src[i];}}}}voidShow(int* arr,int len){for(int i =0; i < len; i++){printf("%d ", arr[i]);}printf("\n");}intmain(){int arr[]={1,2,3,4,5,6,7,8,9,10};//Moveint(&arr[5],arr, 5);//1,2,3,4,5,1,2,3,4,5//Moveint(&arr[4], arr, 6);//把{1,2,3,4,5,6,}拷贝到{5,6,7,8,9,10}//从后往前,1,2,3,4,1,2,3,4,5,6Moveint(arr,&arr[4],6);//把{5,6,7,8,9,10}拷贝到{1,2,3,4,5,6}//从前往后,5,6,7,8,9,10,7,8,9,10Show(arr,sizeof(arr)/sizeof(arr[0]));return0;}