memset的头文件为:
#include<string.h>//C语言
#include<cstring>//c++
函数原型为:
void *memset(void *s,int c,size_t n)
s是指针,指向需要修改的对象,例如某个数据的首地址
size_t是unsigned int类型,即无符号整型
n是指需要修改的字节数量,即有n个字节需要被修改
c是指需要更改为什么内容
举个栗子:
#include<iostream>
#include<cstring>
using namespace std;
#define N 100
int main(){
char a[]="abcdefgh";
memset(a,'0',5);
cout<<a;
return 0;
}
输出结果为:00000fgh
memset(a,‘0’,5)的意思就是将数组a的前5个数替换为0,其中数组传递的指针,所以该操作会直接修改数组。
应用:
可以用该操作来清空数组,做初始化工作等
例如:
#include<iostream>
#include<cstring>
using namespace std;
#define N 100
int main(){
char a[]="abcdefgh";
memset(a,'\0',sizeof(a));
cout<<a;
}
该操作使得a被清空
例如:
#include<iostream>
#include<cstring>
using namespace std;
#define N 100
int main(){
int a[N];
memset(a,0,sizeof(a));
int i;
for(i=0;i<10;i++){
cout<<a[i]<<" ";
}
}
该操作使得a数组的每个元素都为0