Rust 中的指针类型和引用类型是理解其内存管理机制的关键部分。& 引用和 * 原始指针在底层原理上确实都可以认为是指针,它们都存储了某个内存地址,并指向该地址处的数据。然而,它们在安全性、使用方式和编译器支持上有显著的区别。下面我会详细解释它们的异同点,帮助你更好地理解。 1. 底层原理:都是指针 从底层来看,&T 和 *const T(或 &mut T 和 *mut T)本质上都是指针,存储了一个内存地址。例如: rust">let x = 10; let r = &x; // 引用 let p = &