引言:需要对数组中每一个元素赋相同的值,列如初始化为0或者其他的数,这里就需要用到函数了。
memset函数的格式:
memset(数组名,值,sizeof(数组名));
使用memset需要在程序的开头引入string.h头文件,建议赋为0或者-1,因为memset使用的是按字节赋值,即对每个字节赋同样的值,这样组成int型的4个字节就会被赋成相同的值,而由于0的二进制补码为全0,-1的二进制补码为全1,不容易弄错。以后会和fill函数进行对比,这里提一下memset执行速度更快。
#include<cstdio>
#include<string.h>
int main(){
int a[5] = {1,2,3,4,6};
memset(a,0,sizeof(a));
for(int i = 0;i<5;i++){
printf("%d ",a[i]);
}
printf("\n");
memset(a,-1,sizeof(a));
for(int i = 0;i<5;i++){
printf("%d ",a[i]);
}
return 0;
}
运行结果截图:
注:这里如果给-1改成1则结果却不是预期结果。
对二维数组或者多维数组的赋值方法跟一维数组相同。