C/C++对数组赋初值的方法memset,fill

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进行赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值