Dark Mode Logo (Optional)

Dark Mode Logo (Optional)

Function Prototype



Function Prototype

किसी Function को जब प्रोग्राम में उपयोग में लाया जाना होता है , तब उस Function को Header Files के बाद व main() Function से पहले Declare कर दिया जाता है | इसे Prototype Declaration कहा जाता है | ऐसा करने से Compiler को Program Execution के समय ये पता चल जाता है कि कोई Function प्रोग्राम में Use किया जा रहा हा , जिसे प्रोग्राम में किसी अन्य स्थान पर या फिर किसी अन्य File में Define किया गया है | किसी भी Function को Define करते समय Function को प्राप्त होने वाले Arguments किस प्रकार के होंगे , ये निर्धारित करने के दो तरीके हो सकते हैं |

हम चाहें तो UDF को प्राप्त होने वाले Arguments के Data Type का Declaration Argument कोष्टक के अंदर भी कर सकते हैं , जिस कोष्टक में Arguments प्राप्त होते हैं या फिर हम चाहें तो कोष्टक में केवल Arguments प्राप्त कर लें और फिर अगले Statement में Arguments के Data Type का Declaration कर सकते हैं , यदि हम सीधे ही Argument कोष्टक में Data Type का Declaration करना चाहें तो Function का Definition Format निम्नानुसार हो जाता है |


Return_Data_Type Function_Name (Data-type Arg1, Data-type arg2 , Data- type argn)
{ 
  Local Variables;
  Statement 1;
  Statement n;
  Return (Expression);
}

इस प्रकार से हमने UDF के Definition के दो Format देखें | दोनों ही प्रकार के Definitions सही है | हम इनमें से किसी को भी Use कर  सकते हैं | दूसरे प्रकार से Declare करने पर यह पूर्णतया निश्चित हो जाता है कि Calling Function से वही मान Argument के तौर पर कोष्टक में लिखे गए Variables में आएंगे जो सही होंगे | जैसे



int max (int a , int b)

ये User Defined Function ये निश्चित कर देता है , कि Calling Function से प्राप्त होने वाले दोनों ही मान int प्रकार के होंगे अन्यथा इन Variables में Calling Function से मान नहीं आएंगे , जबकि यदि हम निम्नानुसार Declaration करें :


int max (a, b)
int a,b;

 

तो Calling Function से आने वाला मान a व 6 में जरुर आएगा फिर चाहे Calling Function में  a व b को प्राप्त होने वाले मान Float या Double प्रकार के ही क्यों न हो | इसलिए हम हमेंशा किसी भी प्रकार कि परेशानी से बचने के लिए दूसरे Format के प्रकार से ही Arguments Receive करते हैं |

 

You may like these posts:

No comments:

Post a Comment