Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตัวแปรตัวชี้และตัวแปรอ้างอิงใน C ++ แตกต่างกันอย่างไร


ข้อมูลอ้างอิง

เมื่อมีการประกาศตัวแปรเป็นข้อมูลอ้างอิง ตัวแปรนั้นจะกลายเป็นชื่อทางเลือกสำหรับตัวแปรที่มีอยู่

ไวยากรณ์

Type &newname = existing name;

การเริ่มต้น

Type &pointer;
pointer = variable name;

ตัวชี้

พอยน์เตอร์ใช้สำหรับเก็บแอดเดรสของตัวแปร

ไวยากรณ์

Type *pointer;

การเริ่มต้น

Type *pointer; 
pointer = variable name;


ความแตกต่างที่สำคัญระหว่างการอ้างอิงและตัวชี้คือ -

  • การอ้างอิงใช้เพื่ออ้างอิงตัวแปรที่มีอยู่ในชื่ออื่น ในขณะที่ตัวชี้ถูกใช้เพื่อเก็บที่อยู่ของตัวแปร
  • การอ้างอิงไม่สามารถกำหนดค่า null ได้ แต่ตัวชี้สามารถทำได้
  • ตัวแปรอ้างอิงสามารถอ้างอิงบายพาสด้วยค่าในขณะที่ตัวชี้สามารถอ้างอิงได้ แต่ผ่านโดยการอ้างอิง
  • การอ้างอิงจะต้องเริ่มต้นในการประกาศ ในขณะที่ไม่จำเป็นในกรณีของตัวชี้
  • ข้อมูลอ้างอิงใช้ที่อยู่หน่วยความจำเดียวกันกับตัวแปรดั้งเดิม แต่ยังใช้พื้นที่บางส่วนบนสแต็กในขณะที่ตัวชี้มีที่อยู่หน่วยความจำและขนาดของตัวเองบนสแต็ก