【Rust中级教程】1.2. 指针概览(下):原始指针及Rust里的各类指针

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)
请添加图片描述

1.2.1. 一点回顾

上一节中我们使用了引用的例子来模拟指针,但模拟的效果差了很多,我们想要区分原始指针(raw pointer)和智能指针(smart pointer)在内部的区别,具体想要的效果如下:
请添加图片描述

这个图我在上一篇文章 1.1. 指针概览(上) 中有过详细解释,这里就不再作介绍。

1.2.2. Rust的引用和指针

这篇文章我们会换一个更逼真的例子,使用更复杂的类型展示指针内部的区别:

use std::mem::size_of;  
  
static B: [u8; 10] = [99, 97, 114, 114, 121, 116, 111, 119, 101, 108];  
static C: [u8; 11] = [116, 104, 97, 110, 107, 115, 102, 105, 115, 104, 0];  
  
fn main() {
   
     
    let a: usize = 42;  
    let b: Box<[u8]> = Box::new(B);  
    let c: &[u8; 11] = &C;  
      
    println!("a (unsigned 整数)");  
    println!("地址: {}", &a);  
    println!("大小: {:?} bytes", size_of::<usize>());  
    println!("值: {:?}\n", a);  
  
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值