ในภาษา 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