memset是以char为单位做赋值的,对于非char型的数组最好不要这么赋值,但是相较for循环,memset速度更快,对于一些特例还是可以这么操作的
1、对于任意数据类型的数组,int、float等,可以memset为0是可以的,这是因为每个char中的四个bit都是0,整个数组也是0
2、对于int等类型的数组,赋值-1也是可以的,因为每个char中的四个bit都是1,int是八个bit做截断,八个bit都是1的int也是-1,所以这么赋值也是可以的
除了上述两种情况,对非char型的数组不要用memset赋值