memset
函数格式:memset(数组名,值,sizeof(数组名));
使用memset需要引用string.h
值只能是0或者-1,因为memset是按字节赋值,要么全0,要么全1
(
其实赋值其他也可以,只是计算比较复杂,
int是4个字节,memset是按字节赋值,
如果赋值1,
memset(A,1,sizeof(A));
会出现这样:
00000001 00000001 00000001 00000001
四个字节,每个字节值为1,
但是这样整体的值就是16843009
0的二进制补码全0
-1的二进制补码全1
所以最好就是取0或者-1
int A[10];
memset(A,-1,sizeof(A));
fill
fill函数存在于 algorithm头文件下,需要引用此头文件
fill可以对数组或容器对某一区间赋任意值;
fill(a,a+5,233);
fill复杂度为线性,即相当于写了一个for
for(int i=0;i<5;i++)a[i]=233;
所以最好优先考虑memset进行赋值。