Memset(type name, int value, size)
*第一个参数为变量的标识符,第二个要赋为数组的值,第三个为数组的大小(单位为字节,可用sizeof()表示)
原理:memset是字节为单位进行复制操作的
1、当memset对char数组赋值时,char的大小是1个字节,因此每个char 元素都能赋值为value
2、对int数组赋值时,因为一个int的大小为4个字节,当赋值为0或-1时不会出现问题,因为0的二进制补码为(00000000),-1的二进制补码为(11111111),而当赋值为非0非-1的数值时,比如赋值为1,那么每个元素最终的赋值结果应该为00000001 00000001 00000001 00000001 十进制为16843009,而不是1;当赋值为511时,结果为-1,因为511的二进制为(00000000 00000000 00000001 11111111)后八位为 (11111111)因此赋值后为每个元素都为(11111111 11111111 11111111 11111111)
3、结论 使用memset对char数组进行赋值时可以赋值为任何字符,对int数组进行赋值时只能赋值为0 或 -1
标签:11111111,int,00000001,memset,数组,赋值 From: https://www.cnblogs.com/zkesi/p/17267077.html