จริงๆไม่ใช่เป็นการประกาศค่าคงที่ หรือตัวแปร ใดๆ แต่เป็น Preprocessor คือขั้นตอนของ compiler จะทำการแทนที่ text ใน source code ด้วย directive ที่กำหนดแล้วถึงทำการ compileCode:#define NUMBER 540
จากตัวอย่างข้างต้น ก็คือจะแทนที่ NUMBER ที่อยู่ใน source code ทั้งหมด ด้วย 540
จากตัวอย่างนี้ ก็จะแทนที่ NUMBER ด้วย 540+460 แต่ถ้าเขียนแบบนี้มีโอกาสที่จะผิดพลาดได้ และทำการตรวจสอบได้ยาก เช่นCode:#define NUMBER 540+460
[code]
#define NUMBER 540+460
int x = 2*NUMBER;