memset的常见用法

流过昼夜 提交于 2019-12-04 13:28:30

头文件

<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,所以就成立啦!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!