ตารางเปรียบเทียบ:
พื้นฐานสำหรับการเปรียบเทียบ | ตัวบ่งชี้ | ตัวแปร |
---|---|---|
ใช้ | ตัวระบุใช้เพื่อตั้งชื่อตัวแปรฟังก์ชันคลาสโครงสร้างยูเนี่ยน ฯลฯ | Variable ใช้เพื่อตั้งชื่อตำแหน่งหน่วยความจำซึ่งเก็บค่าไว้ |
วัตถุประสงค์ | สร้างขึ้นเพื่อให้ชื่อที่ไม่ซ้ำกับเอนทิตี | จัดสรรชื่อที่ไม่ซ้ำให้กับตำแหน่งหน่วยความจำนั้น ๆ |
พิสัย | ตัวระบุทั้งหมดไม่ได้เป็นตัวแปร | ชื่อตัวแปรทั้งหมดเป็นตัวระบุ |
ตัวอย่าง | int a; หรือ int a () { // } | int a; หรือ ลอย a; // |
ความหมายของตัวระบุ
ชื่อที่เราใช้เรียกเอนทิตีเฉพาะในโปรแกรมซึ่งไม่ใช่คำหลักเรียกว่า "ตัวระบุ" ตัวระบุโดยเฉพาะชื่อ 'ตัวแปรฟังก์ชันโครงสร้าง enum คลาสเป็นต้น' ตัวระบุระบุเอนทิตีในโปรแกรมในขณะที่ทำงาน ตัวระบุสองตัวไม่สามารถมีชื่อเดียวกันในโปรแกรม
ลองมาทำความเข้าใจกับตัวอย่าง
พื้นที่ลอยน้ำ
ต่อไปนี้ 'โฟลต' คือ 'คำหลัก' และ 'พื้นที่' เป็น 'ตัวระบุ' ตัวระบุ 'พื้นที่' เป็นชื่อที่กำหนดให้กับ 'ตัวแปร' ซึ่งจะเก็บค่าทศนิยม ทีนี้ถ้า 'พื้นที่' ไม่ใช่ตัวแปร แต่เป็นฟังก์ชั่น
พื้นที่ลอย () {}
ที่นี่ 'พื้นที่' ยังคงเป็นตัวระบุ แต่คราวนี้ตัวระบุ 'พื้นที่' เป็นชื่อที่กำหนดให้กับ 'ฟังก์ชั่น'
นิยามของตัวแปร
ตัวแปรคือ "ชื่อที่กำหนดให้กับตำแหน่งหน่วยความจำที่แตกต่าง" ตำแหน่งหน่วยความจำที่ตั้งชื่อนี้ประกอบด้วยค่าที่อาจแก้ไขได้ในขณะที่โปรแกรมทำงาน ใน C ตัวแปรจะต้องประกาศที่จุดเริ่มต้นของโปรแกรมในขณะที่ใน C ++ ตัวแปรสามารถประกาศได้ทุกที่ในโปรแกรม
ตัวแปรสามารถเป็น 'ท้องถิ่น', 'ทั่วโลก' หรือ 'อ้างอิง' มีการประกาศตัวแปรท้องถิ่นภายในฟังก์ชัน ตัวแปรโกลบอลถูกประกาศนอกฟังก์ชัน ตัวแปรอ้างอิงคือสิ่งที่ให้ "ชื่อสำรอง" สำหรับตัวแปรที่กำหนดไว้ก่อนหน้า
หากมีการอ้างอิงตัวแปรกับตัวแปรอื่นทั้งสองตัวแปรนั้นสามารถใช้สลับกันเพื่อแสดงตัวแปรนั้นได้ หากตัวแปรยอมรับค่าของอาร์กิวเมนต์ในฟังก์ชันตัวแปรเหล่านี้จะถูกเรียกว่า 'พารามิเตอร์ที่เป็นทางการ'
การประกาศตัวแปร:
// พิมพ์ vaiable_name; int เพิ่ม;
รายการของตัวแปรชนิดเดียวกันสามารถสร้างได้ที่อินสแตนซ์โดยคั่นด้วยเครื่องหมายจุลภาค
// พิมพ์ variable_list; int a, b, c;
ในตัวแปร C ++ สามารถเริ่มต้นได้ที่รันไทม์; มันถูกเรียกว่า 'การเริ่มต้นแบบไดนามิก'
ตัวอย่างเช่น
พื้นที่ลอย = 3.14 * rad * rad;
คำสั่งนี้จะเริ่มต้นตัวแปร 'พื้นที่' ที่รันไทม์
ความแตกต่างที่สำคัญระหว่างตัวระบุและตัวแปร
- ทั้งตัวระบุและตัวแปรเป็นชื่อที่ผู้ใช้กำหนดให้กับเอนทิตีเฉพาะในโปรแกรม ตัวระบุจะใช้เพื่อระบุเอนทิตีเฉพาะในโปรแกรมในขณะดำเนินการในขณะที่ตัวแปรเป็นชื่อที่กำหนดให้กับตำแหน่งหน่วยความจำที่ใช้ในการเก็บค่า
- ตัวแปรเป็นเพียงตัวระบุชนิดเท่านั้นตัวระบุชนิดอื่นคือชื่อฟังก์ชันชื่อคลาสชื่อโครงสร้าง ฯลฯ ดังนั้นจึงอาจกล่าวได้ว่าตัวแปรทั้งหมดเป็นตัวระบุในขณะที่ในทางกลับกันไม่เป็นความจริง
สรุป:
เนื่องจากตัวระบุและชื่อตัวแปรเป็นชื่อที่ผู้ใช้กำหนดควรใช้ความระมัดระวังว่าไม่มีตัวระบุสองตัวหรือไม่มีชื่อตัวแปรสองตัวในโปรแกรมควรเหมือนกัน มันจะสร้างปัญหาความกำกวมในโปรแกรม