ความแตกต่างระหว่างตัวชี้และการอ้างอิง (พร้อมตาราง)

สารบัญ:

Anonim

C และ C ++ เป็นภาษาการเขียนโปรแกรมที่ใช้กันมากที่สุดเนื่องจากเป็นประตูพื้นฐานสำหรับผู้เริ่มต้นสู่โลกแห่งการเขียนโปรแกรม ตัวชี้และข้อมูลอ้างอิงคือบางส่วนของสิ่งอำนวยความสะดวกที่มีประโยชน์มากที่สุดซึ่งภาษาเหล่านี้มีให้ พอยน์เตอร์ใช้ใน C และ C++ และการอ้างอิงรองรับใน C++, Python และภาษาอื่นๆ

ตัวชี้เทียบกับการอ้างอิง

ความแตกต่างระหว่างพอยน์เตอร์และการอ้างอิงคือพอยน์เตอร์เก็บที่อยู่ของตัวแปรอื่นไว้ในขณะที่การอ้างอิงอ้างอิงถึงตัวแปรที่มีอยู่ในชื่ออื่น พอยน์เตอร์เก็บที่อยู่ของตัวแปรอื่น ๆ ไว้ใต้หน่วยความจำ แต่ข้อมูลอ้างอิงถูกใช้เป็นข้อมูลประจำตัวทางเลือก

ตัวชี้คือตัวแปรที่มีที่อยู่หรือตำแหน่งของตัวแปรอื่นเป็นค่าของมัน สามารถเริ่มต้นได้ทุกที่ในโปรแกรมด้วยตัวดำเนินการเช่น '*' และ '->' ตัวแปรพอยน์เตอร์สามารถทำให้เป็นโมฆะได้ และยังสนับสนุนการเริ่มต้นใหม่อีกด้วย พอยน์เตอร์ประกาศตามประเภทข้อมูลพื้นฐาน ตามด้วยเครื่องหมายดอกจันและชื่อตัวชี้

การอ้างอิงคือตัวแปรที่มีชื่ออื่นสำหรับตัวแปรที่ละเอียดอ่อนอยู่แล้วของโปรแกรม ทันทีที่มีการสร้างตัวแปรอ้างอิง ตัวแปรนั้นควรได้รับการเตรียมข้อมูลเบื้องต้น มันสร้างนามแฝงของตัวแปรอื่น ตัวดำเนินการ & ใช้สำหรับการอ้างอิงการออกแบบ สร้างโดยประเภทข้อมูลพื้นฐาน ตามด้วย '&' และชื่อตัวแปร

ตารางเปรียบเทียบระหว่างตัวชี้และตัวอ้างอิง

พารามิเตอร์ของการเปรียบเทียบ

ตัวชี้

อ้างอิง

คำนิยาม ตัวแปรที่เก็บที่อยู่หน่วยความจำของตัวแปรอื่นเรียกว่าตัวแปรตัวชี้ การอ้างอิงคือนามแฝงของตัวแปรอื่น การอ้างอิงถึงตัวแปรนั้น
การอ้างอิงค่าว่าง สามารถกำหนดค่า Null ให้กับตัวชี้ได้ ตัวแปรอ้างอิงไม่มีการมอบหมายค่าว่าง
ไวยากรณ์ ประเภทข้อมูล *ชื่อตัวชี้; โดยที่ Datatype เป็นประเภทข้อมูลพื้นฐาน และ PointerName คือชื่อของตัวชี้ที่ประกาศ ประเภทข้อมูล &ReferenceName = AnotherVariable; โดยที่ ReferenceName คือชื่อของข้อมูลอ้างอิง และ AnotherVariable เป็นตัวแปรที่อ้างอิงถึง
การเริ่มต้น สามารถสร้างตัวชี้ที่ไม่ได้กำหนดค่าเริ่มต้นได้ การอ้างอิงไม่สามารถสร้างได้ในที่ไม่ได้กำหนดค่าเริ่มต้น
การเริ่มต้นใหม่ ตัวแปรตัวชี้สามารถเริ่มต้นซ้ำแล้วซ้ำอีกในโปรแกรมได้ตามความต้องการ ตัวแปรอ้างอิงสามารถเริ่มต้นได้เพียงครั้งเดียวในโปรแกรม

ตัวชี้คืออะไร?

โดยสรุป ตัวชี้คือตัวแปรที่เก็บตำแหน่งหน่วยความจำหรือที่อยู่ของตัวแปรอื่นๆ ในโปรแกรม พอยน์เตอร์ทำงานใน C และ C++ ตัวแปรตัวชี้เก็บตำแหน่งที่อยู่ของตัวแปรตัวชี้ ตัวแปรพอยน์เตอร์สามารถประกาศได้ จากนั้นจึงเริ่มต้นได้ด้วยตัวแปรที่ต้องการกำหนดแอดเดรส

int * ตัวแปรตัวชี้;

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

ตัวแปรตัวชี้ = &a;

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

อ้างอิงคืออะไร?

ตัวแปรอ้างอิงคือนามแฝงสำหรับตัวแปรอื่น กล่าวอีกนัยหนึ่ง ตัวแปรที่อ้างถึงตัวแปรย่อยอื่นๆ ของโปรแกรมถือเป็นตัวแปรอ้างอิง

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

int &ref = var;

ในที่นี้ ตัวอ้างอิงคือชื่อของตัวแปรอ้างอิง และชี้ไปที่ตัวแปร var ซึ่งถูกเตรียมใช้งานในส่วนอื่นของโปรแกรม เมื่อค่าของ ref และ var ถูกพิมพ์ออกมา ref และ var จะถูกสังเกตว่ามีค่าเท่ากัน พอยน์เตอร์มีประโยชน์ในการบันทึกหน่วยความจำ เนื่องจากเมื่อพวกมันถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน พวกมันจะใช้ตำแหน่งหน่วยความจำดั้งเดิมสำหรับการเรียกใช้ฟังก์ชันทุกครั้ง

ตัวแปรอ้างอิงไม่ได้จัดเตรียมการกำหนดค่าเริ่มต้นใหม่ ซึ่งจะมีการกำหนดค่าเริ่มต้นเพียงครั้งเดียวและไม่ซ้ำกัน การอ้างอิงไม่ชี้ไปที่ตัวแปรโดยการจัดเก็บที่อยู่ในตำแหน่งหน่วยความจำแยกต่างหาก กล่าวง่ายๆ ตัวแปรอ้างอิงคือชื่อสำรองของตัวแปรที่มีอยู่แล้ว นี่เป็นเพียงนามแฝงในชื่ออื่นของตัวแปรที่จะอ้างอิง

ความแตกต่างหลักระหว่างตัวชี้และการอ้างอิง

บทสรุป

พอยน์เตอร์และการอ้างอิงเป็นแนวคิดที่กว้างขวางพร้อมการใช้งานที่หลากหลายซึ่งส่วนใหญ่เป็นภาษา C และ C++ อย่างไรก็ตาม ต้องใช้ทั้งสองอย่างกับความต้องการและข้อกำหนดที่เหมาะสมก่อนนำไปปฏิบัติ ตัวแปรอ้างอิงไม่ต้องการการเริ่มต้นใหม่หรือการกำหนดใหม่ และช่วยประหยัดพื้นที่เนื่องจากจะทำสำเนาข้อมูลในเครื่องหลายชุดซ้ำซ้อนเมื่อส่งผ่านเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน ตัวชี้ยังมีความจำเป็น เนื่องจากพวกมันมีความสะดวกในการจัดเก็บค่า Null ในตัวมัน

การอ้างอิงต้องอ้างอิงถึงบางสิ่งบางอย่างเสมอ และต้องได้รับการเตรียมข้อมูลเบื้องต้นและไม่สามารถเปลี่ยนแปลงได้ พอยน์เตอร์สามารถนำกลับมาใช้ใหม่ได้ สิ่งนี้ทำให้พวกเขามีความสามารถในการเริ่มต้นใหม่ซึ่งไม่มีการอ้างอิง

อ้างอิง

ความแตกต่างระหว่างตัวชี้และการอ้างอิง (พร้อมตาราง)