#define SIZE 20 /* ทำงานกับ 20 องค์ประกอบ */
int data[SIZE]; /* ข้อมูลบางอย่าง */
int twice[SIZE]; /* ข้อมูลสองเท่า */
int main()
{
int index; /* ดัชนีชี้ตำแหน่งในข้อมูล */
for (index = 0; index < SIZE; ++index) {
data[index] = index;
twice[index] = index * 2;
}
return (0);
}
ในตัวอย่างนี้ โค้ด #define SIZE 20
เป็นการใช้คำสั่งเพื่อบอกโปรแกรมแก้ไขข้อความให้เปลี่ยนค่าของ SIZE
เป็น 20 โดยอัตโนมัติ โค้ดนี้ช่วยลดความยุ่งยากและความเสี่ยงในการแก้ไขโค้ดในภายหลัง เพราะถ้าต้องการเปลี่ยนขนาดข้อมูล ก็แค่เปลี่ยนค่าตรงนี้จุดเดียว โค้ดทั้งหมดที่อ้างอิง SIZE
ก็จะเปลี่ยนตามไปด้วย
คำสั่งที่ขึ้นต้นด้วยเครื่องหมาย #
จะเป็นคำสั่งสำหรับตัวพรีโปรเซสเซอร์ ซึ่งแตกต่างจาก C ตรงที่พรีโปรเซสเซอร์จะไม่รู้จักรูปแบบของ C และคำสั่งเหล่านี้ต้องอยู่ในคอลัมน์แรกของโค้ดเท่านั้น ถ้าไม่เป็นไปตามนี้ คำสั่งอาจไม่ทำงานตามที่เราต้องการ
หมายเหตุ: ข้อผิดพลาดที่พบได้บ่อยในโปรแกรมเมอร์มือใหม่คือ พยายามใช้ไวยากรณ์ของ C ในคำสั่งพรีโปรเซสเซอร์ ซึ่งจะทำให้เกิดข้อผิดพลาดได้ง่าย เพราะไวยากรณ์ของทั้งสองนั้นแตกต่างกัน
อีกประเด็นที่สำคัญคือ คำสั่งของพรีโปรเซสเซอร์จะจบที่ท้ายบรรทัด ต่างจากภาษา C ที่ต้องใช้เครื่องหมายอัฒภาค ;
ในการจบคำสั่ง การใส่ ;
ที่ท้ายบรรทัดพรีโปรเซสเซอร์อาจทำให้เกิดผลลัพธ์ที่ไม่คาดคิดได้ หากต้องการต่อคำสั่งไปยังบรรทัดถัดไป ก็สามารถใช้เครื่องหมาย \
ที่ท้ายบรรทัดเพื่อบอกว่าคำสั่งยังไม่จบ
โดยรวมแล้ว การใช้พรีโปรเซสเซอร์ใน C สามารถทำให้โค้ดง่ายขึ้นและสะดวกต่อการปรับแก้ไขในอนาคต เช่นการใช้ #define SIZE 20
เพื่อแทนค่าตัวแปร SIZE
ทั้งหมดในโค้ดด้วยเลข 20 โดยอัตโนมัติ