memset函数的用法

重点需要注意一个细节:memset是以byte来填充的,也就是一个字节(8bit)一个单位来填充。

因此:如果int array[10]; memset(array, 1, 10);然后再把array的值打印出来,会得到一个错误的值。因为int是4个字节,因此再int类型中1的表现形式为“00000000000000000000000000000001”,然后将这32位填充1个byte中,高位被舍弃,也就是“00000001”,然后再填充一次就变成“0000000100000001”。那么array[0]其实在内存中存储的就是“00000001000000010000000100000001”。

猜你喜欢

转载自www.cnblogs.com/zhuangquan/p/10888347.html