int a[5];
memset(a, 1, 5 * sizeof(int));
这样并不能将整形数组a初始化为1,因为memset是按字节进行初始化的,所以只有后八位二进制有效。如果一个int元素是4字节,合一起是0000 0001,0000 0001,0000 0001,0000 0001,转化成十六进制就是0x01010101,就等于16843009,即int元素被初始化为了16843009。
int a[5];
memset(a, 1, 5 * sizeof(int));
这样并不能将整形数组a初始化为1,因为memset是按字节进行初始化的,所以只有后八位二进制有效。如果一个int元素是4字节,合一起是0000 0001,0000 0001,0000 0001,0000 0001,转化成十六进制就是0x01010101,就等于16843009,即int元素被初始化为了16843009。