memset的正规用法是只能用来初始化char类型的数组的,也就是说,它只接受0x00-0xFF的赋值。因为char是1字节,memset是按照字节赋值的,相当于把每个字节都设为那个数,所以char型的数组可赋任意值;
而对于也常用的int类型,int是4个字节,
当memset(,1,sizeof())时,1相当于ASSCII码的1,1转为二进制00000001,当做一字节,一字节8位,int为4字节,所以初始化完每个数为00000001000000010000000100000001 = 16843009;
当memset(,9000,sizeof())时,9000转为二进制10 0011 0010 1000,取一个字节8位,即0010 000,int为4字节,所以初始化完每个数为000101000 00101000 00101000 00101000= 673720360;