Rust语言中级教程
一、指针
什么是指针
- 指针是计算机引用无法立即直接访问的数据的一种方式(类比 书的目录)
- 数据在物理内存(RAM)中是分散的存储着
- 地址空间是检索系统
- 指针就被编码为内存地址,使用 usize 类型的整数表示。
- 一个地址就会指向地址空间中的某个地方
- 地址空间的范围是 OS 和 CPU 提供的外观界面
- 程序只知道有序的字节序列,不会考虑系统中实际 RAM 的数量
名词解释
- 内存地址(地址),就是指代内存中单个字节的一个数
- 内存地址是汇编语言提供的抽象
- 指针(有时扩展称为原始指针),就是指向某种类型的一个内存地址
- 指针是高级语言提供的抽象
- 引用,就是指针。如果是动态大小的类型,就是指针和具有额外保证的一个整数
- 引用是 Rust 提供的抽象
Rust 的引用
- 引用始终引用的是有效数据
- 引用与 usize 的倍数对齐
- 引用可以为动态大小的类型提供上述保障
Rust 的引用 和 指针
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 = 42;
let b = &B;
let c = &C;
println!("a: {}, b: {:p}, c: {:p}", a, b, c);
}
运行
point_demo on master [?] is
标签:教程,bytes,let,引用,println,Rust,指针
From: https://www.cnblogs.com/QiaoPengjun/p/17374211.html