我正在 Rust 中尝试原始指针。我有以下代码:
fn main() {
let mut t: u8 = 0;
let addr = &mut t as *mut u8 as usize;
let x = addr as *mut [bool; 8];
let y = addr as *mut u8;
unsafe {
*y = 0b10101010;
println!("{:?} {:b}", *x, *y);
}
}
Run Code Online (Sandbox Code Playgroud)
它产生以下输出:[true, true, true, true, true, true, true, false] 10101010
虽然我希望它打印[true, false, true, false, true, false, true, false] 10101010. 到底是怎么回事?bool数组不是按位存储的吗?