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");
本文详细介绍了C语言中四个重要的内存操作函数:memset用于初始化内存,memcpy用于内存拷贝,memmove处理内存重叠情况的移动,memcmp则用于比较内存区域。通过实例展示了它们的使用方法和应用场景,对于理解和操作内存管理非常有帮助。
3463

被折叠的 条评论
为什么被折叠?



