ตัวประมวลผลล่วงหน้าคือโปรแกรมที่ส่งซอร์สโค้ดก่อนที่จะส่งผ่านคอมไพเลอร์ มันทำงานภายใต้คำสั่งของตัวประมวลผลล่วงหน้าซึ่งขึ้นต้นด้วยสัญลักษณ์ #.
ประเภท
คำสั่งพรีโปรเซสเซอร์สามประเภทมีดังนี้ -
-
คำสั่งการแทนที่มาโคร
-
คำสั่งการรวมไฟล์
-
คำสั่งควบคุมคอมไพเลอร์
คำสั่งการแทนที่มาโคร
โดยแทนที่ทุกการเกิดขึ้นของตัวระบุด้วยสตริงที่กำหนดไว้ล่วงหน้า
ไวยากรณ์สำหรับการกำหนดคำสั่งการแทนที่แมโครมีดังนี้ −
# define identifier string
ตัวอย่างเช่น
#define PI 3.1415 #define f(x) x *x #undef PI
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับคำสั่งการแทนที่มาโคร -
#define wait getch( )
main ( ){
clrscr ( );
printf ("Hello");
wait ;
} ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Hello
คำสั่งการรวมไฟล์
ไฟล์ภายนอกที่มีฟังก์ชัน (หรือ) คำจำกัดความของมาโครสามารถรวมได้โดยใช้คำสั่ง #include
ไวยากรณ์สำหรับคำสั่งการรวมไฟล์มีดังนี้ -
# include <filename> (or) #include "filename"
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับคำสั่งการรวมไฟล์ -
#include <stdio.h>
main ( ){
printf ("hello");
} ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Hello
คำจำกัดความของฟังก์ชัน printf ( ) มีอยู่ใน
คำสั่งควบคุมคอมไพเลอร์
ตัวประมวลผลล่วงหน้า C นำเสนอคุณลักษณะที่เรียกว่าการคอมไพล์ตามเงื่อนไข ซึ่งสามารถใช้เพื่อเปิด (หรือ) ปิดบรรทัดใดบรรทัดหนึ่ง (หรือ) กลุ่มของบรรทัดในโปรแกรม
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับคำสั่งควบคุมคอมไพเลอร์ -
#if, #else, #endif etc.
#define LINE 1
#include<stdio.h>
main ( ){
#ifdef LINE
printf ("this is line number one");
#else
printf("This is line number two");
#endif
} ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
This line number one