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

ตัวแปรในภาษา C51
     ตัวแปร (Varible) คือ การจองพื้นที่หน่วยความจำสำหรับเก็บข้อมูล พร้อมทั้งกำหนดชื่อเรียกแทนหน่วยความจำในตำแหน่งนั้น การใช้งานก็เรียกใช้ผ่าน
ชื่อตัวแปรที่เราได้ประกาศไว้ ตัวอย่างเช่น ถ้าเรากำหนดตัวแปรพร้อมกำหนดค่าเริ่มต้นดังนี้
     int   num = 1;
     ตัวแปรภาษา C51 จะจองพื้นที่ในหน่วยความจำไว้ 2 ไบต์ (เนื่องจากตัวแปรชนิด int ใช้พื้นที่ 2 ไบต์) โดยเริ่มตั้งแต่ตำแหน่งที่ 0050H - 0051H เวลาเรียก
ใช้งานข้อมูลที่เก็บไว้ในพื้นที่ส่วนนี้ให้เรียกผ่านตัวแปร num


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















     ตัวแปรที่มีเครื่องหมาย * ไม่ใช่ตัวแปรของภาษ C ตามมาตรฐาน ANSI C เป็นตัวแปรที่ใช้สำหรับภาษา C51 เท่านั้น


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

     type varible ;

โดยที่
     type      คือ ชนิดของตัวแปรที่ต้องการสร้าง
     varible   คือ ชื่อตัวแปร

ตัวอย่าง
     int  i ;                          // สร้างตัวแปรชื่อ i สำหรับเก็บข้อมูลจำนวนเต็ม
     char  data ;                 // สร้่างตัวแปรชื่อ data สำหรับเก็บข้อมูลชนิดตัวอักษร
     float  num ;                 // สร้างตัวแปรชื่อ num สำหรับเก็บข้อมูลชนิดทศนิยม
     int  num = 1 ;              // สร้างตัวแปรชื่อ num สำหรับเก็บข้อมูลจำนวนเต็ม และมีค่าเริ่มต้นเท่ากับ 1
     char font = 'A' ;          // สร้างตัวแปรชื่อ font สำหรับเก็บข้อมูลชนิดตัวอักษร และมีค่าเริ่มต้นเป็น ASCII คือ A
     int  x = 0xFF ;            // สร้างตัวแปรชื่อ x สำหรับเก็บข้อมูลจำนวนเต็ม และมีค่าเริ่มต้นเป็น 0xFF อยู่ในรูปฐานสิบหก
     unsigned int  x,y,z ;     // สร้างตัวแปร 3 ตัว ชื่อ x, y และ z สำหรับเก็บข้อมูลจำนวนเต็ม แบบไม่คิดเครื่องหมาย

ค่าคงที่
     ค่าคงที่ (Constant) คือ การประกาศตัวแปรชนิดหนึ่งพร้อมทั้งกำหนดค่าเริ่มต้นให้เลย โดยตัวแปรค่าคงที่จะไม่สามารถแก้ไขเปลี่ยนแปลงค่าในภายหลัง
ได้ รูปแบบการประกาศตัวแปรค่าคงที่ต้องขึ้นต้นด้วยคำว่า "code" และกำหนดไว้ที่ส่วนหัวของโปรแกรม ปกติอยู่ถัดจากบรรทัด #define รูปแบบคำสั่งประกาศ
ตัวแปรค่าคงที่แสดงได้ดังนี้
 
     code type varible_constant = value_constant ;

โดยที่
     type                     คือ ชนิดของตัวแปร
     varible_constant   คือ ชื่อของตัวแปรค่าคงที่
     value_constant     คือ ค่าคงที่

ตัวอย่าง
     code unsigned int time = 2 ;      // ประกาศตัวแปรค่าคงที่ชื่อ time สำหรับเก็บข้อมูลจำนวนเต็มแบบไม่คิดเครื่องหมาย และกำหนดค่าคงที่เป็น 2
     code int num[3] = {1,2,3} ;     // ประกาศตัวแปรค่าคงที่ชื่อ num จำนวน 3 สมาชิก สำหรับเก็บข้อมูลจำนวนเต็ม และกำหนดค่าคงที่เป็น 1, 2 และ 3                                                     // ตามลำดับ
กลับสู่หน้าหลัก