ในภาษา C/C++ ชื่อตัวแปรสามารถมีตัวอักษร ตัวเลข และขีดล่าง ( _ ) ได้ มีคีย์เวิร์ดบางคำในภาษา C/C++ นอกเหนือจากนั้นทุกอย่างจะถือเป็นตัวระบุ ตัวระบุคือชื่อของตัวแปร ค่าคงที่ ฟังก์ชัน ฯลฯ
เราไม่สามารถระบุตัวระบุที่ขึ้นต้นด้วยตัวเลขได้ เนื่องจากมีคอมไพเลอร์อยู่ 7 เฟส ดังนี้
- การวิเคราะห์คำศัพท์
- การวิเคราะห์ไวยากรณ์
- การวิเคราะห์เชิงความหมาย
- การสร้างโค้ดระดับกลาง
- การเพิ่มประสิทธิภาพโค้ด
- การสร้างโค้ด
- ตารางสัญลักษณ์
ไม่มีข้อใดสนับสนุนให้ตัวแปรขึ้นต้นด้วยตัวเลข เนื่องจากคอมไพเลอร์สับสนว่าเป็นตัวเลขหรือตัวระบุจนกระทั่งถึงตัวอักษรหลังตัวเลข ดังนั้นคอมไพเลอร์จะต้องย้อนรอยไปยังขั้นตอนการวิเคราะห์คำศัพท์ที่ไม่รองรับ คอมไพเลอร์ควรสามารถระบุโทเค็นเป็นตัวระบุหรือตัวอักษรได้หลังจากดูอักขระตัวแรกแล้ว
ต่อไปนี้เป็นตัวอย่างที่แสดงการประกาศตัวแปรในภาษา C.
ตัวอย่าง
#include <stdio.h> int main() { int 5s = 8; int _4a = 3; int b = 12; printf("The value of variable 5s : %d", 5s); printf("The value of variable _4a : %d", _4a); printf("\nThe value of variable b : %d", b); return 0; }
โปรแกรมข้างต้นทำให้เกิดข้อผิดพลาด "s" ต่อท้ายไม่ถูกต้องในค่าคงที่จำนวนเต็ม" เนื่องจากตัวแปรเริ่มต้นด้วย 5 หากเราลบสิ่งนี้ โปรแกรมจะทำงานได้อย่างถูกต้อง
ตัวอย่างที่สาธิตโปรแกรมใหม่มีดังนี้
ตัวอย่าง
#include <stdio.h> int main() { int _4a = 3; int b = 12; printf("The value of variable _4a : %d", _4a); printf("\nThe value of variable b : %d", b); return 0; }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
The value of variable _4a : 3 The value of variable b : 12