พรีโพรเซสเซอร์ (Pre-processor) คือโปรแกรมที่ประมวลผลโค้ดต้นฉบับก่อนที่จะผ่านคอมไพเลอร์ ทำงานภายใต้การควบคุมของบรรทัดคำสั่งหรือคำสั่งต่างๆ
คำสั่งพรีโพรเซสเซอร์วางในโปรแกรมต้นฉบับก่อนฟังก์ชันหลัก เริ่มต้นด้วยสัญลักษณ์ # ในคอลัมน์แรก และไม่ต้องการจุดคอมมาท้ายบรรทัด
คำสั่งพรีโพรเซสเซอร์ที่ใช้บ่อยมีดังนี้:
- #define
- #undef
- #include
- #ifdef
- #endif
- #if
- #else...
คำสั่งพรีโพรเซสเซอร์แบ่งออกเป็น 3 หมวด:
- คำสั่งแทนที่แมโคร (Macro Substitution Directive)
- คำสั่งรวมไฟล์ (File Inclusion Directive)
- คำสั่งควบคุมคอมไพเลอร์ (Compiler Control Directive)
คำสั่งแทนที่แมโคร
ไวยากรณ์และตัวอย่าง:
ไวยากรณ์
ไวยากรณ์สำหรับคำสั่งแทนที่แมโคร:
#define identifier string
ตัวอย่าง - แมโครง่าย: #define MAX 500
แมโครพร้อมอาร์กิวเมนต์ - #define sqrt(x) x*x
แมโครซ้อนกัน - #define A 10
#define B A+1
คำสั่งรวมไฟล์
ไวยากรณ์และตัวอย่าง:
ไวยากรณ์
ไวยากรณ์สำหรับคำสั่งรวมไฟล์:
#include “filename” or #include<filename>
ตัวอย่าง:
#include<stdio.h> #include "FORM.C"
คำสั่งควบคุมคอมไพเลอร์
ใช้ควบคุมการทำงานของคอมไพเลอร์ พรีโพรเซสเซอร์ของ C มีฟีเจอร์เรียกว่าการคอมไพล์เงื่อนไข (Conditional Compilation) ใช้เปิด/ปิดบรรทัดหรือกลุ่มบรรทัดในโปรแกรมได้
ตัวอย่าง: #ifdef และ #ifndef