การตั้งชื่อในภาษา C
ภาพรวม
การตั้งชื่อในภาษา C แสดงถึงชื่อของเอนทิตีต่างๆ เช่น อาร์เรย์ ฟังก์ชัน ตัวแปร ชนิดข้อมูลที่กำหนดโดยผู้ใช้ ป้ายกำกับ ฯลฯ คือการตั้งชื่อของประเภทของสตริงของอักขระที่เป็นตัวอักษรและตัวเลขคละกันที่ขึ้นต้นด้วยตัวอักษรหรือขีดล่างเสมอ มีกฎเฉพาะสำหรับกำหนดการตั้งชื่อ และเราไม่สามารถใช้คีย์เวิร์ดที่กำหนดไว้แล้วซึ่งแสดงอยู่ในภาษา C ใช้ในการตั้งชื่อได้
ขอบเขต
- บทความนี้กำหนดการตั้งชื่อ Identifier ใน ภาษา C และยังอธิบายประเภทต่างๆ
- บทความนี้ยังกล่าวถึงกฎที่ต้องปฏิบัติตามเพื่อตั้งชื่อ Identifiers ประเภทต่างๆ
บทนำ
เช่นเดียวกับในชีวิตประจำวันของเรา ทุกสิ่งมีชื่อที่เกี่ยวข้องกัน เพื่อระบุสิ่งนั้น ในทำนองเดียวกันเพื่อระบุตัวแปร ฟังก์ชัน ประเภทข้อมูลที่กำหนดโดยผู้ใช้ ฯลฯ เราต้องจัดเตรียมชื่อที่เป็น Identifiers ในภาษาการเขียนโปรแกรม ในภาษาซี Identifiers เป็นเพียงข้อความหรือสตริงบางส่วนเพื่อระบุเอนทิตีต่างๆ คำที่กำหนดไว้ล่วงหน้าบางคำถูกเขียนขึ้นในภาษาการเขียนโปรแกรม ซึ่งเรียกว่าคีย์เวิร์ดและเราไม่สามารถใช้คีย์เวิร์ดเหล่านี้เป็น Identifiers ได้เนื่องจากมีการจองไว้แล้วและมีความหมายพิเศษในภาษาการเขียนโปรแกรม ดังนั้นจึงเป็นไปไม่ได้ที่คอมไพเลอร์จะใช้เอนทิตีที่แตกต่างกันสองรายการที่มีชื่อเดียวกัน
กฎสำหรับการตั้งชื่อ Identifier
มีกฎเฉพาะสำหรับการตั้งชื่อ Identifier ในภาษา C
- เราไม่สามารถใช้คีย์เวิร์ดใด ๆ ตั้งเป็นชื่อได้
- การตั้งชื่อทั้งหมดควรมีชื่อที่ไม่ซ้ำในขอบเขตเดียวกัน
- การตั้งชื่อไม่สามารถเริ่มต้นด้วยตัวเลขได้
- อักขระตัวแรกของตัวการตั้งชื่อควรเริ่มต้นด้วยตัวอักษรหรือขีดล่างเสมอ จากนั้นตามด้วยอักขระ ตัวเลข หรือขีดล่างใดๆ
- ไม่อนุญาตให้ใช้อักขระพิเศษ เช่น ‘*’,’#’,’@’,’$’ ภายในตัวระบุ
- การตั้งชื่อทั้งหมดต้องคำนึงถึงขนาดตัวพิมพ์ หมายความว่าตัวระบุ“hello“และ“Hello“จะได้รับการปฏิบัติต่างกัน อย่างไรก็ตาม ชื่อทั้งสองเหมือนกัน แต่ชื่อหนึ่งมีอักษรตัวพิมพ์เล็ก และอีกชื่อหนึ่งมีอักษรตัวพิมพ์ใหญ่
- ความยาวของการตั้งชื่อไม่ควรเกิน 31 อักขระ
- ไม่อนุญาตให้มีช่องว่างหรือเครื่องหมายจุลภาคภายในตัวระบุ
ตัวอย่างการตั้งชื่อ C Identifier
#include <stdio.h>
// creating a function
int add(int num1, int num2) {
return num1 + num2;
}
int main() {
// creating some data variables
char Character = 'a';
double double_number = 3.789;
int long_identifier_to_store_sum = add(1, 2);
int arr[5]; // array of size five
return 0;
}
ในโปรแกรม C ด้านบน ขั้นแรก เราได้สร้างฟังก์ชันที่มีการตั้งชื่อเพิ่มเพื่อค้นหาผลรวม ฟังก์ชันนี้มีพารามิเตอร์สองตัวที่มีชื่อ num1 และ num2 ในฟังก์ชันหลัก เราได้สร้างตัวแปรประเภทข้อมูลที่แตกต่างกันสามตัวพร้อมตัวระบุ Character , double_numberและlong_identifier_to_store_sum ในที่สุด สร้างอาร์เรย์ด้วยตัวระบุ arr
การตั้งชื่อที่ถูกต้อง
การตั้งชื่อที่ถูกต้องคือตัวระบุเหล่านั้นที่ปฏิบัติตามกฎทุกข้อของการตั้งชื่อของตัวระบุที่เราได้กล่าวถึงข้างต้น
ตัวอย่างของการตั้งชื่อ C ที่ถูกต้อง
- length – ประกอบด้วยตัวอักษรตัวพิมพ์เล็กเท่านั้น
- Total_sum – มีเพียง ‘_’ เป็นอักขระพิเศษ
- _size – เริ่มต้นด้วยขีดล่าง’ _’ * len_ – ประกอบด้วยตัวอักษรพิมพ์เล็กและขีดล่าง
- num1 – ในที่นี้ ตัวเลขจะอยู่ท้ายสุด
- num_2 – เริ่มต้นด้วยตัวพิมพ์เล็กและลงท้ายด้วยตัวเลข
การตั้งชื่อที่ไม่ถูกต้อง
การตั้งชื่อที่ไม่ถูกต้องคือการตั้งชื่อที่ไม่เป็นไปตามกฎทุกข้อของการตั้งชื่อแบบแผนของการตั้งชื่อ
ตัวอย่างของการตั้งชื่อ C ไม่ถูกต้อง
- 5size (เริ่มต้นด้วยตัวเลข)
- \@hello (เริ่มต้นด้วยอักขระพิเศษที่ไม่ใช่ ‘_’)
- int (เป็นคีย์เวิร์ด)
- m n (มีช่องว่าง)
- m+n (มีอักขระพิเศษ)
ประเภทของ Identifiers ในC
Identifier ในภาษาซีมีอยู่สองประเภท
- Internal identifier
- External identifier
External Linkage Process:เมื่อเราเขียนไฟล์การใช้งาน (.c, .cpp ฯลฯ) คอมไพเลอร์จะสร้างหน่วยการแปล หน่วยการแปลเป็นไฟล์ต้นฉบับที่เป็นการรวมกันของทั้งไฟล์ที่ใช้งานและไฟล์ส่วนหัวทั้งหมดที่รวมอยู่ในนั้น การเชื่อมโยงภายในหมายถึงทุกสิ่งในขอบเขตของหน่วยการแปลเท่านั้น ในทางตรงกันข้ามการเชื่อมโยงภายนอกหมายถึงโปรแกรมทั้งหมดที่รวมหน่วยการแปลทั้งหมด (หรือไฟล์อ็อบเจ็กต์)
Internal identifier ตัวระบุภายใน
ตัวระบุภายในคือสิ่งที่ไม่ได้ใช้ในกระบวนการลิงก์ภายนอกใดๆ ตัวระบุภายใน หรือที่เรียกว่าชื่อภายใน ; รวมชื่อของตัวแปรท้องถิ่น ตัวระบุภายในสามารถเป็นตัวแปรในเครื่องได้ มีอักขระสำคัญอย่างน้อย 31 ตัว
External identifier ตัวระบุภายนอก
ตัวระบุภายนอกคือสิ่งที่ใช้ในกระบวนการลิงก์ภายนอก ตัวระบุ เหล่านี้เรียกอีกอย่างว่าชื่อภายนอก รวมชื่อฟังก์ชันและ ชื่อ ตัวแปรส่วนกลางที่แชร์ระหว่างไฟล์ต้นทาง ตัวระบุภายนอกสามารถเป็นชื่อของฟังก์ชันหรือตัวแปรส่วนกลางได้ มีอักขระสำคัญอย่างน้อย 63 ตัว
สรุป
- Identifier คือสตริงที่ใช้ในการกำหนดหรือระบุเอนทิตี
- Identifier คือคำที่ผู้ใช้กำหนดซึ่งยังไม่ได้กำหนดในภาษาการเขียนโปรแกรมและกำหนดโดยผู้ใช้
- Identifier ควรไม่ซ้ำกันเสมอ หมายความว่าไม่มีสองเอนทิตีที่มีชื่อเหมือนกัน
- Identifier ไม่ควรเหมือนกับคีย์เวิร์ดที่กำหนดไว้แล้วในภาษาการเขียนโปรแกรม
credit : https://www.scaler.com/topics/c/