ความแตกต่างระหว่างตัวชี้และการอ้างอิง
ผู้เขียน:
Laura McKinney
วันที่สร้าง:
1 เมษายน 2021
วันที่อัปเดต:
5 พฤษภาคม 2024
เนื้อหา
ทั้ง“ ตัวชี้” และ“ การอ้างอิง” ใช้เพื่อชี้หรืออ้างอิงตัวแปรอื่น แต่ความแตกต่างพื้นฐานระหว่างทั้งคู่ก็คือตัวแปรตัวชี้จะชี้ไปที่ตัวแปรที่มีการเก็บตำแหน่งหน่วยความจำไว้ ตัวแปรอ้างอิงเป็นนามแฝงสำหรับตัวแปรที่กำหนดให้กับมัน แผนภูมิเปรียบเทียบด้านล่างสำรวจความแตกต่างอื่น ๆ ระหว่างตัวชี้และการอ้างอิง
- แผนภูมิเปรียบเทียบ
- คำนิยาม
- ความแตกต่างที่สำคัญ
- ข้อสรุป
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | ชี้ | การอ้างอิง |
---|---|---|
ขั้นพื้นฐาน | ตัวชี้คือที่อยู่หน่วยความจำของตัวแปร | การอ้างอิงเป็นนามแฝงสำหรับตัวแปร |
ผลตอบแทน | ตัวแปรพอยน์เตอร์จะคืนค่าที่อยู่ที่เก็บไว้ในตัวแปรพอยน์เตอร์ซึ่งนำหน้าด้วยเครื่องหมายพอยต์ * | ตัวแปรอ้างอิงส่งคืนที่อยู่ของตัวแปรที่อยู่ข้างหน้าด้วยเครื่องหมายอ้างอิง & |
ผู้ประกอบการ | *, -> | & |
การอ้างอิง Null | ตัวแปรตัวชี้สามารถอ้างถึง NULL | ตัวแปรอ้างอิงไม่สามารถอ้างถึง NULL |
การเริ่มต้น | สามารถสร้างตัวชี้แบบไม่มีการเริ่มต้น | ไม่สามารถสร้างการอ้างอิงแบบไม่มีการกำหนดค่าเริ่มต้นได้ |
เวลาเริ่มต้น | ตัวแปรตัวชี้สามารถเริ่มต้น ณ เวลาใดก็ได้ในโปรแกรม | ตัวแปรอ้างอิงสามารถเริ่มต้นได้ในเวลาที่สร้างเท่านั้น |
เตรียมใช้งานใหม่ | ตัวแปรตัวชี้สามารถเริ่มต้นใหม่ได้หลายครั้งตามที่ต้องการ | ตัวแปรอ้างอิงไม่สามารถเริ่มต้นใหม่อีกครั้งในโปรแกรม |
ความหมายของตัวชี้
“ ตัวชี้” เป็นตัวแปรที่เก็บตำแหน่งหน่วยความจำของตัวแปรอื่น ตัวดำเนินการที่ใช้โดยตัวแปรพอยน์เตอร์คือ * และ -> การประกาศตัวแปรตัวชี้ประกอบด้วยชนิดข้อมูลพื้นฐานตามด้วยเครื่องหมาย ‘*’ และชื่อตัวแปร
พิมพ์ * var_name;
ให้เราเข้าใจตัวชี้ด้วยความช่วยเหลือของตัวอย่าง
int a = 4; int * ptr = & a; ศาล <ในขณะที่ผู้ประกอบการอ้างอิงคือ &.
บันทึก:
Java ไม่รองรับพอยน์เตอร์
ข้อสรุป
ตัวชี้และการอ้างอิงทั้งสองจะใช้ในการชี้หรืออ้างอิงตัวแปรอื่น แต่ทั้งคู่ต่างกันในการใช้งานและการนำไปใช้งาน