Call By Value
Call by Value Method में Actual Parameters की Value को Function के Formal Parameters में Copy किया जाता है| अर्थात इसमें Variable की Value का use Function Call करने में use किया जाता है| Call by Value Method में Formal Parameters के द्वारा Actual Parameter की Value को Change नहीं कर सकते है|
इसमें Actual और Formal Parameters अलग-अलग Memory Location में Store रहते हैं| Actual Parameter एक ऐसा Argument है, जिसे Function Calling में use किया जाता है| जबकि Formal Parameter एक ऐसा Argument है, जिसे Function Definition में use किया जाता है|
Example
Output
Call By Reference
Call by Reference में एक Argument के Address को Formal Parameters में Copy किया जाता है| अर्थात इसमें Variable के Address को Actual Parameter की तरह Function Call में Pass किया जाता है|
इसमें अगर हम Formal Parameter की Value को Change करते है, तो Actual Parameter की Value भी Change हो जाएगी| Call by Reference में दोनों Actual और Formal Parameters एक ही Memory Location में Store रहते हैं|
Example
Output
Recursive Function
Same Function को उसी Function के अंदर Call करने को ही Recursive Function कहते हैं, और इस Process को Recursion कहते हैं। Recursive Functions का use Tree Structure (Read या Tree Structure बनाने में ) में सबसे ज्यादा होता है, जहां पर पहले से निर्धारित नहीं होता की Node का कोई Children है, या नहीं।
Data Sorting के लिए भी Recursive Function use कर सकते हैं। File Directories को Read करने के लिए Recursive Function का use किया जाता है, क्योंकि पहले से निर्धारित नहीं होता है, कि एक Directory के अंदर सभी Files ही है, फिर उसके अंदर Sub-Directories और फिर उसके अंदर Files Stored है|
Example
Output
Function with Array
जिस प्रकार एक Function में किसी Simple Variable का Value Argument Pass करते हैं, उसी तरह से एक Array को भी किसी Function में Argument के रूप में Pass कर सकते हैं। Argument के रूप में Array का Name व Array की Size Actual Argument के रूप में User Defined Function को Pass की जाती है।
जब किसी User Defined Function में Array का Value GET करके उस पर Process करना होता है, तब User Defined Function में Array का नाम व Array की Size Pass करते हैं। इसलिए User Defined Function को निम्नलिखित Format में Define करना होता है।
First way: