memset(arr,initial_value,sizeof arr)
- 按字节(B)进行初始化,所以在初始化选择时,使用16进制进行初始化
- 如初始化int arr[],每个数组元素都是int型占4B
- 如初始化是0x7F0111,1111。8bit1B,则int型4B中,每一个B都是0111,1111拼凑起来的
- 在memset中,8位二进制数是带符号的
- 0111,1111 0111,1111 0111,1111 0111,1111
- 0111,1111 0111,1111 0111,1111 0111,1111==2139062143
int a[5];
memset(a, 0x7f, sizeof a);
for (int i = 0; i < 5; i++) printf("%d\n", a[i]);
/*
2139062143
2139062143
2139062143
2139062143
2139062143
*/