Skip to content
เข้าสู่ระบบ

Pointer Functions

Raw pointer operations

use std::ptr;
fn main() {
// Create null pointers
let null_const: *const i32 = ptr::null();
let null_mut: *mut i32 = ptr::null_mut();
println!("=== Null Pointers ===");
println!("null(): {:?}", null_const);
println!("null_mut(): {:?}", null_mut);
// Check for null
println!("\nis_null(): {}", null_const.is_null());
// Can also use std::ptr::null::<T>()
let null_str: *const str = ptr::null();
println!("null str ptr: {:?}", null_str);
// NonNull for non-null pointers
use std::ptr::NonNull;
let mut value = 42;
let non_null = NonNull::new(&mut value).unwrap();
println!("\nNonNull: {:?}", non_null);
// NonNull from dangling
let dangling: NonNull<i32> = NonNull::dangling();
println!("Dangling: {:?}", dangling);
}

เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม

ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด