memset的常见用法

头文件

<cstring>

描述

因为memset函数按照字节填充,所以一般memset只能用来填充char型数组

但是,我们一般都用memset来初始化int型的数组,所有就要有一些特殊情况

常用用法

  1. 初始化为0

memset(a,0,sizeof(a));

  1. 初始化为-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,所以就成立啦!

posted @ 2019-11-15 16:23  battlin  阅读(414)  评论(0编辑  收藏  举报