c ++ Null ชี้
ในช่วงเวลาของการประกาศตัวแปรหากไม่ได้ที่อยู่ที่แน่นอนจะได้รับมอบหมายให้กำหนดค่า NULL ตัวแปรตัวชี้เป็นวิธีการเขียนโปรแกรมที่ดีค่าตัวชี้ฟูโมฆะเรียกว่าตัวชี้โมฆะ
ตัวชี้โมฆะถูกกำหนดไว้ในค่าคงที่ห้องสมุดมาตรฐานศูนย์ พิจารณาโปรแกรมต่อไปนี้:
#include <iostream> using namespace std; int main () { int *ptr = NULL; cout << "ptr 的值是 " << ptr ; return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
ptr 的值是 0
บนระบบปฏิบัติการมากที่สุดโปรแกรมไม่อนุญาตให้เข้าถึงอยู่หน่วยความจำ 0 เพราะหน่วยความจำถูกสงวนไว้สำหรับระบบปฏิบัติการ แต่อยู่หน่วยความจำ 0 มีความสำคัญเป็นพิเศษก็แสดงว่าตัวชี้ไม่ได้ชี้ไปยังสถานที่ที่สามารถเข้าถึงหน่วยความจำ แต่ตามอนุสัญญาว่าถ้าตัวชี้มีค่า null (ศูนย์บาท) มันจะสันนิษฐานว่ามันไม่ได้ชี้ไปที่ใด
เพื่อตรวจสอบตัวชี้โมฆะ, คุณสามารถใช้ถ้ามีคำสั่งดังต่อไปนี้:
if(ptr) /* 如果 p 非空,则完成 */ if(!ptr) /* 如果 p 为空,则完成 */
ดังนั้นถ้าทุกคำแนะนำที่ไม่ได้ใช้ที่ได้รับมอบหมายค่า null ขณะที่หลีกเลี่ยงการใช้งานของตัวชี้โมฆะนั้นมันเป็นไปได้ที่จะป้องกันการผิดของตัวชี้เตรียม ในหลายกรณีตัวแปรเตรียมมีบางค่าขยะทำให้โปรแกรมยากที่จะแก้ปัญหา