C in Hindi : Preprocessor Directives

C Preprocessors Directives 

  • Introduction to C preprocessor directives in Hindi 
  • Different types of C preprocessor directives in Hindi 
    • #include directive in Hindi 
    • #define directive in Hindi 
    • #undef directive in Hindi 
    • #ifdef directive in Hindi 
    • #ifdef directive in Hindi 
    • #if directive in Hindi 
    • #else directive in Hindi 
    • #error directive in Hindi
    • #pragma directive in Hindi 

Introduction to C preprocessor directives  

Preprocessor C language का एक बहुत ही powerful tool है। कोई भी C program compiler द्वारा compile किये जाने से पहले preprocessor के द्वारा process किया जाता है। Preprocessor का काम preprocessor directives को process करना होता है। आपके program की कोई भी वो line जो # से शुरू होती है preprocessor directive कहलाती है।

उदाहरण के लिए यदि आपने program में #include directive यूज़ किया है, तो preprocessor के द्वारा process किये जाने के बाद ये line header file के actual content से replace कर दी जाती है। इस process को pre-processing कहा जाता है।

C programs में अलग अलग तरह के preprocessor directives यूज़ किये जाते है। इनके बारे में detail से नीचे दिया जा रहा है।

#include 

ये C programming में commonly यूज़ किये जाने वाला preprocessor directive है। ये directive किसी header file के content को जिस file में इसे include किया जाता है उस में copy कर देता है। इस directive का general syntax नीचे दिया जा रहा है। 

#include <file.h>      //for built-in header files

#include "file.h"       // for user defined header files
       

#define

ये directive C program में constants और macros define करने के लिए यूज़ किया जाता है। इसलिए आप इसे 2 प्रकार से यूज़ कर सकते है। 

#define को आप कोई constant define करने के लिए यूज़ कर सकते है। इसका general syntax इस प्रकार होता है। 

#define PI 3.14;
    
इस statement को program में define करने के बाद जँहा भी आप program में PI को यूज़ करेंगे तो PI 3.14 से replace कर दिया जायेगा।

#define directive को macros define करने के लिए भी यूज़ किया जाता है। एक macro code की एक line होती है जिसे program में macro name से replace कर दिया जाता है। ये एक function की तरह भी हो सकता है। इसका उदाहारण नीचे दिया जा रहा है।

#define square(n) (n*n);

जँहा भी आप program में square को यूज़ करेंगे और उसमे कोई number pass करेंगे तो वह उस number के square से replace हो जायेगा।

#undef

ये directive #define directive द्वारा define किये गए constant या macro को undefine करने के लिए यूज़ किया जाता है। इसके आगे आप constant या macro का सिर्फ नाम लिखते है। इसका उदाहरण नीचे दिया जा रहा है। 

#define PI 3.14;    //defining constant

..................   //other statements 

#undefine PI;   // undefine constant 


#ifdef, #else, #endif 

ये directive ये check करने के लिए यूज़ किया जाता है की क्या दिए गए नाम से कोई macro define किया गया है। यदि define किया गया है तो #ifdef के बाद का code execute हो जाता है नहीं तो #else के बाद का का code execute होता है। यदि आप #else नहीं यूज़ कर रहे है तो #ifdef को आप #endif से terminate करते है। इसका उदाहरण नीचे दिया जा रहा है। 

#ifdef Square

#undef Square 

#else

#define Square(n) (n*n);

#endif

ऊपर दिया गया code check करता है की क्या कोई Square नाम से macro define किया गया है। यदि macro पहले से defined है तो उसे undefine किया जायेगा। और यदि macro पहले से define नहीं है तो उसे define किया जायेगा।

इसी प्रकार #ifndef directive भी होता है जो code को तब execute करता है जब दिए गए नाम वाला macro define न किया गया हो।

#error 

मान लीजिये की आपके program में किसी macro की आवश्यकता है और यदि वो macro define नहीं किया गया है तो आप इस situation से related एक error show कर सकते है। इसके लिए आप #error directive यूज़ करते है। इसका उदाहरण नीचे दिया जा रहा है।   

#ifndef Square

#error Please define the marco first

#endif
  

#pragma 

ये directive compiler को additional information देने के लिए यूज़ किया जाता है। मान लीजिये की आपने एक function create किया है अब आप इस function के बारे में compiler को additional information दे सकते है। इसका उदाहरण नीचे दिया जा रहा है। 

#pragma token 

      DMCA.com Protection Status

 Leave a comment