来自Rust指南:
要对解引用(获取被引用值而不是引用本身)
y
,我们使用星号 (*
)。
所以我这样做了:
fn main() {
let x = 1;
let ptr_y = &x;
println!("x: {}, ptr_y: {}", x, *ptr_y);
}
这给了我相同的结果(x=1; y=1),即使没有明确引用:fn main() {
let x = 1;
let ptr_y = &x;
println!("x: {}, ptr_y: {}", x, ptr_y);
}
为什么?ptr_y
不应该打印内存地址,*ptr_y
打印1吗?是有某种自动解引用吗,还是我漏了什么?
{:p}
也可以使用,p
是格式说明符,可用于各种指针类型上,以打印地址。 - huonlet x: Type = 1;
。 - huon