memset函数的用法

信息竞赛中memset函数的用法

memset的介绍

memset()函数主要用来重置数组初值,可赋值0,-1,最大值,最小值。
函数原型

int a[10];
memset(a,0,sizeof(a));
for(int i=0;i<10;i++){
	cout<<a[i];
}

输出全部为0;

示例:

最大值:memset(a,127,sizeof(a));(0x7f和0x3f也可以)
在这里插入图片描述

最小值:memset(a,128,sizeof(a));
在这里插入图片描述

memset赋值规则

memset的赋值是字节赋值,int类型4个字节,如果是0,计算机中存储为00000000 ,数据在计算机中存储的形式是补码形式,
-1:(1000 0001 )原码
(1111 1110)反码
(1111 1111)补码;
1:(0000 00001)原码
(0000 00001)反码
(0000 00001)补码
所以利用memset进行赋值的时候如果赋值为1,则最终结果为000000001 000000001 00000001 000000001转换成十进制就并不是1。
同时也可以赋值最大值和最小值。
128初始化的时候将被看作无符号数即10000000同(-128),这样一个int数就被赋了10000000 10000000 10000000 10000000即-2139062144的补码,与最小值只差一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值