您的位置:首页 > 其它

rust:打印变量地址

2015-08-30 14:52 176 查看
fn main(){
let a:i32 = 5;
//&a先转成raw指针,然后再把指针转成usize,这个可以print的
let addr = &a as *const i32 as usize;
println!("addr:0x{:X}",addr);

//为了验证刚才的地址是不是正确的,我们修改这个指针指向的数据
//pa就是addr对应的raw指针
let pa = addr as *mut i32;
//解引用,*pa其实就是&mut a了,给他赋值100
unsafe{*pa = 100};

//打印a,可以看到a已经变成100了
println!("value:{}",a);
}


Play地址:http://is.gd/vxQCHw

输出结果:

addr:0x7FFF9883AB84
value:100
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: