关于memset

memset:

当想要初始化数组时,往往会用到memset函数。这个函数按字节操作,相当于将指定内存的每一个字节设置成指定的值。

例如,初始化为0:memset(a,0,sizeof a),那么a数组的每一个字节都是00000000。-1的话,二进制为11111111,明显也成立。

现在讲的是无穷大和无穷小的初始化。

memset不能到达理论最值:

一个字节所代表的二进制数的极大值为01111111(0x7f),但是memset(a,0x7f,sizeof a)后得到的应该是0x7f7f7f7f(32位数),而32位数的理论最大值应该是0x7fffffff。

常用最值:

一般如果需要初始化最大值时,使用的是0x3f3f3f3f,得到的数为1061109567,两倍不会爆,可以适用于大多数场合。
而最小值使用的是0xc0c0c0c0,数值为-1061109568。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jk_chen_acmer/article/details/86764997