memory 头文件
#include <memory.h>
memset //初始化内存
第一个参数:初始化内存的首地址
第二个参数:将内存初始化成什么值
第三个参数:从首地址开始多少个值设置为0
int arr[10];
int x;
memset(arr,0,sizeof(arr));
for(x=0;x<10;x++){
printf("%d\t",arr[x]);
}
memcpy //内存拷贝
// 1参:目标空间的首地址
// 2参:源空间的首地址
// 3参:从源空间拷贝多少个字节的数据
int a=10;int b = 20;
printf("a=%d\nb=%d\n",a,b);
memcpy(&a,&b,4);
printf("a=%d\nb=%d\n",a,b);
memmove //内存移动—处理内存重叠现象
int arr[] = {1,2,3,4,5};
int a;
for(a=0;a<5;a++){
printf("%d",arr[a]);
}
printf("\n");
memmove(arr,arr+1,sizeof(int)*4);
for(a=0;a<5;a++){
printf("%d",arr[a]);
}
memcmp //内存比较
第一个参数:参与比较的首地址
第二个参数:参与比较的首地址
第三个参数:从首地址开始比较的字节数
int a = 10;int b = 20;int c=20;
memcmp(&a,&b,4)==0?printf("相等\n"):printf("不相等\n");
memcmp(&c,&b,4)==0?printf("相等\n"):printf("不相等\n");