IT评测·应用市场-qidao123.com
标题:
Rust语言中级教程之指针
[打印本页]
作者:
罪恶克星
时间:
2023-5-5 14:52
标题:
Rust语言中级教程之指针
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);
}
复制代码
运行
[code]point_demo on master [?] is
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4