1.首先我们来看一下memset的函数参数类型
void *memset(void *s, int ch, size_t n);
函数解释:将s中当前位置后面的n个字节用 ch 替换并返回 s 。
参数:
s:指针,要赋值的内存的起始地址。
ch:用于设置给内存块的值 (一字节大小)
n:指定设置为ch值的字节数 (sizeof(s)即可)
memset函数是对地址为s开始的n个字节的内存块进行赋值,而且是将这个n个字节的每个字节赋值为整数ch。注意,使用memset函数对内存块赋值是以字节为单位来赋值。
2.给int数组赋为非0值操作
由于memset是给每个字节分配数值,然而一个int占四个空间,比如说赋值 0x32 一个int位会被赋值四次 0x32323232 因而不符合我们预期。
3.解决方案
emmmm 目前只知道循环赋值,有了新的方法再补充吧