1.memset()与memcpy :
1. memset():
void* memset(void*s,int c, size_t n);
将c赋值给数组s中每个元素;
2. memcpy():
void* memcpy(void* s, const void* a,size_t n);
memset()demo:
memset有清空数组的作用:
#include<stdio.h>
void main(){
int len = 10;
int arr[6] = {1,2,3,4,5,6};
int i;
for(i = 0;i<6;i++){
printf("i=%d,value=%d\n",i,arr[i]);
}
printf("----------------------------------\n");
memset(arr,0,sizeof(arr));
for(i = 0;i<6;i++){
printf("i=%d,value=%d\n",i,arr[i]);
}
}
打印结果为:
i=0,value=1 i=1,value=2 i=2,value=3 i=3,value=4 i=4,value=5 i=5,value=6
i=0,value=0 i=1,value=0 i=2,value=0 i=3,value=0 i=4,value=0 i=5,value=0
memcpy demo:
#include<stdio.h>
void main(){
int len = 10;
int src[6] = {1,2,3,4,5,6};
int target[6];
memcpy(target,src,6*sizeof(int));
//memcpy(target,src,sizeof(src));
int i;
for(i = 0;i<6 ;i++){
printf("i=%d,value=%d ",i,target[i]);
}
}
输出结果为:
i=0,value=1 i=1,value=2 i=2,value=3 i=3,value=4 i=4,value=5 i=5,value=6