memset按字节对内存块进行初始化

 
 

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。

猜你喜欢

转载自blog.csdn.net/u012822181/article/details/78333646