ในภาษาการเขียนโปรแกรม C คำสั่งหลายคำสั่งควบคุมการรวบรวมส่วนที่เลือกของรหัสโปรแกรม ดังต่อไปนี้ −
- #if
- #else
- #elif
- #endif
รูปแบบทั่วไปของ #if เป็นดังนี้ −
#if constant_expression statement sequence #endif
#else ทำงานเหมือนกับคีย์เวิร์ด C อย่างอื่น
#elif หมายถึง "else if" และสร้างเชนการคอมไพล์ if else-if
เหนือสิ่งอื่นใด #if ให้วิธีอื่นในการ "แสดงความคิดเห็น" รหัส
ตัวอย่างเช่น
#if 0 printf("#d", total); #endif
ที่นี่ คอมไพเลอร์จะไม่สนใจ printf("#d", total);
#ifdef และ #ifndef
#ifdef หมายถึง "หากกำหนด" และสิ้นสุดโดย #endif
#indef หมายถึง "ถ้าไม่ได้กำหนดไว้"
#undef
#undef ลบคำจำกัดความที่กำหนดไว้ก่อนหน้านี้
#line
#line เปลี่ยนเนื้อหาของ __LINE__ ซึ่งมีหมายเลขบรรทัดของโค้ดที่คอมไพล์อยู่ในปัจจุบัน และ __FILE__ ซึ่งเป็นสตริงที่มีชื่อของไฟล์ต้นฉบับที่กำลังคอมไพล์ ทั้งสองอย่างนี้เป็นตัวระบุที่กำหนดไว้ล่วงหน้าในคอมไพเลอร์
#pragma
คำสั่ง #pragma เป็นคำสั่งที่กำหนดไว้สำหรับการนำไปใช้งาน ซึ่งช่วยให้สามารถกำหนดคำสั่งต่างๆ ให้กับคอมไพเลอร์ได้
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C เพื่อสาธิต #ifdef, #ifndef , #else และ #endif −
# include <stdio.h> # define a 10 void main(){ #ifdef a printf("\n Hello I am here.."); #endif #ifndef a printf("\n Not defined "); #else printf("\n R u There "); #endif }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Hello I am here.. R u There