写在前面

最近做题被\(memset\)坑了一把,所有重新看了一下有关\(memset\)的东西,下面的\(f\)严谨来讲应该写为\(F\),不过我懒得改大写(逃)

\(0x3f3f3f\)

先从用\(memset\)赋值的常见的值\(0x3f3f3f\)说起吧

他是满足下面两个性质的最大的整数

  • 整数的两倍不超过\(0x7fffffff\),即\(int\)能表示的最大的整数
  • 整数的每\(8\)位(\(update:\)即每个字节)相同

\(memset\)

memset(a,val,sizeof(val));

关于上面的例子

是将数值\(val(0x00\backsim 0xff)\)填充到数组\(a\)每个字节上去,我们知道\(1\)\(int\)占用\(4\)个字节,所以用\(memset\)只能赋值出每\(8\)位都相同的\(int\)

常见的问题

可以参考这个讨论里面写的还是比较详细的

相关文章:

  • 2021-11-25
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-06
  • 2022-12-23
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2022-02-20
相关资源
相似解决方案