我正在从套接字读取一系列字节,我需要将n个字节的每一段作为一个项放入 struct 中.
use std::mem;
#[derive(Debug)]
struct Things {
x: u8,
y: u16,
}
fn main() {
let array = [22 as u8, 76 as u8, 34 as u8];
let foobar: Things;
unsafe {
foobar = mem::transmute::<[u8; 3], Things>(array);
}
println!("{:?}", foobar);
}
我得到的错误是foobar
是32位,而array
是24位.foobar
不应该是24位(8+16=24)吗?