ตัวประมวลผลล่วงหน้าคือโปรแกรมที่ส่งซอร์สโค้ดก่อนที่จะส่งผ่านคอมไพเลอร์ มันทำงานภายใต้คำสั่งของตัวประมวลผลล่วงหน้าซึ่งขึ้นต้นด้วยสัญลักษณ์ #.
ประเภท
คำสั่งพรีโปรเซสเซอร์สามประเภทมีดังนี้ -
-
คำสั่งการแทนที่มาโคร
-
คำสั่งการรวมไฟล์
-
คำสั่งควบคุมคอมไพเลอร์
คำสั่งการแทนที่มาโคร
โดยแทนที่ทุกการเกิดขึ้นของตัวระบุด้วยสตริงที่กำหนดไว้ล่วงหน้า
ไวยากรณ์สำหรับการกำหนดคำสั่งการแทนที่แมโครมีดังนี้ −
# 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