关于memset语句

写在前面

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

关于(0x3f3f3f)

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

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

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

关于(memset)

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

关于上面的例子

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

常见的问题

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

原文地址:https://www.cnblogs.com/pyyyyyy/p/12800679.html