头文件
<cstring>
描述
因为memset函数按照字节填充,所以一般memset只能用来填充char型数组
但是,我们一般都用memset来初始化int型的数组,所有就要有一些特殊情况
常用用法
- 初始化为0
memset(a,0,sizeof(a));
- 初始化为-1
memset(a,-1,sizeof(a));
3。 初始化为MAX
define MAX 0x3f3f3f3f
//当心,一共有4个3f
memset(a,0x3f,sizeof(a));
这样a数组里面的全部元素,就定义成了0x3f3f3f3f(i.e=1061109567)
//补充一下,0x3f3f3f3f是一个很好用的数字,大概为1e9,算一个非常大的数字,并且两个数加起来也没有超过int的范围,所以就不会出现超出范围,就更加鲁棒。
这里解释原因
因为memset是按字节操作的,而0x3f3f3f3f的每一个字节都是0x3f,所以就成立啦!