Rust语言中级教程
一、指针
什么是指针
- 指针是计算机引用无法立即直接访问的数据的一种方式(类比 书的目录)
- 数据在物理内存(RAM)中是分散的存储着
- 地址空间是检索系统
- 指针就被编码为内存地址,使用 usize 类型的整数表示。
- 地址空间的范围是 OS 和 CPU 提供的外观界面
- 程序只知道有序的字节序列,不会考虑系统中实际 RAM 的数量
名词解释
- 内存地址(地址),就是指代内存中单个字节的一个数
- 指针(有时扩展称为原始指针),就是指向某种类型的一个内存地址
- 引用,就是指针。如果是动态大小的类型,就是指针和具有额外保证的一个整数
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);
- }
复制代码 运行
[code]point_demo on master [?] is
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |