Types of Function calls in C
Program рдоें рдЬрдм рднी рдЖрдк function рдХो use рдХрд░рдиा рдЪाрд╣рддे рд╣ै рддो рдЙрд╕े call рдХрд░рддे рд╣ै।
argument-list – arguments рд╡ो real values рд╣ोрддी рд╣ै рдЬो рдЖрдк functions рдХो call рдХрд░рддे рд╕рдордп рдкाрд╕ рдХрд░рддे рд╣ै। рдпे values function definition рдоें parameters рдХो assign рд╣ोрддी рд╣ै। рдЗрд╕рдХे рдмाрдж рдЗрди values рдкрд░ processing рд╣ोрддी рд╣ै рдФрд░ result return рдХिрдпा рдЬाрддा рд╣ै।
Addition рдХे function рдХो call рдХрд░рддे рд╕рдордп рдХोрдИ 5 values рдкाрд╕ рдХрд░ेंрдЧे рдЬैрд╕े рдХी 5 рдФрд░ 7, рдЗрдирдХी рдЬрдЧрд╣ variables рднी pass рдХिрдпे рдЬा рд╕рдХрддे рд╣ै рдЬिрдирдоें values store рдХी рдЧрдпी рд╣ै।
рдпे values parameter variables a рдФрд░ b рдХो assign рд╣ो рдЬाрдПँрдЧी рдФрд░ function рдХे рдЕंрджрд░ рдЗрди variables рдкрд░ рд╣ी processing рд╣ोрддी рд╣ै। рдРрд╕े functions рдЬिрдирдоें parameters defined рдХिрдпे рдЧрдП рд╣ै рдФрд░ рдпрджि рдЖрдк function call рдХрд░рддे рд╕рдордп arguments рдкाрд╕ рдирд╣ीं рдХрд░рддे рд╣ै рддो program рдоें error рдЖрддी рд╣ै।
Addition рдХे function рдХो рдЖрдк рдЗрд╕ рдк्рд░рдХाрд░ call рдХрд░ рд╕рдХрддे рд╣ै।
C language рдоें functions рдХो 2 рдк्рд░рдХाрд░ рд╕े call рдХिрдпा рдЬा рд╕рдХрддा рд╣ै।
- Call by Value – рдЗрд╕ рддрд░ीрдХे рдоें argument рдХे рд░ूрдк рдоें values рдФрд░ variables рдкाрд╕ рдХिрдпे рдЬाрддे рд╣ै।
- Call by Reference – рдЗрд╕ рддрд░ीрдХे рдоें argument рдХे рд░ूрдк рдоें variables рдХा reference рдкाрд╕ рдХिрдпा рдЬाрддा рд╣ै।
Call by Value
рдЬрдм рдЖрдк function call рдХрд░рддे рд╕рдордп argument рдХे рд░ूрдк рдоें рдХोрдИ value рдкाрд╕ рдХрд░рддे рд╣ै рддो рд╡рд╣ parameter variables рдоें copy рд╣ो рдЬाрддी рд╣ै рдФрд░ рдЗрд╕рдХे рдмाрдж рдЙрди variables рдкрд░ operations perform рдХिрдпे рдЬाрддे рд╣ै।
рдЗрд╕ी рдк्рд░рдХाрд░ рдЬрдм рдЖрдк function рдХो call рдХрд░рддे рд╕рдордп рдХोрдИ variable рдкाрд╕ рдХрд░рддे рд╣ै рддो рдЕрд╕рд▓ рдоें рд╡рд╣ variable function рдоें рдирд╣ीं pass рдХिрдпा рдЬाрддा рд╣ै рдмрд▓्рдХि рдЙрд╕ variable рдХी value parameter variable рдоें copy рдХी рдЬाрддी рд╣ै рдФрд░ рдЙрд╕рдХे рдмाрдж рдЙрд╕ parameter variable рдкрд░ operations perform рдХिрдпे рдЬाрддे рд╣ै।
рдпрджि рдКрдкрд░ рджिрдП рдЧрдП addition рдХे function рдХो call рдХрд░рддे рд╕рдордп рджो integer variables x рдФрд░ y pass рдХिрдпे рдЬाрдПँ рддो рдРрд╕ा рдХрд░рдиे рдкрд░ рдЙрди рджोрдиों variables рдХी value parameter variables a рдФрд░ b рдоें copy рд╣ो рдЬाрдпेрдЧी рдФрд░ рдЙрди рдкрд░ addition perform рдХрд░рдХे result return рдХिрдпा рдЬाрдПрдЧा।
рдЗрд╕ рддрд░рд╣ рдХे function call рдХो call by value рдХрд╣ा рдЬाрддा рд╣ै। рдЗрд╕рдоें рдЕрд╕рд▓ argument variables рдХी value change рдирд╣ीं рд╣ोрддी рд╣ै рдФрд░ рдЬो рднी operation рд╣ोрддा рд╣ै рд╡рд╣ parameter variables рдкрд░ рд╣ी perform рд╣ोрддा рд╣ै।
output
value of x in calc function is 20
value of x in main is 10
Call by Reference
рдХिрд╕ी function рдХो call рдХрд░рддे рд╕рдордп рдЕрд╕рд▓ variables pass рдХрд░рдиे рдХी рдмрдЬाрдп рдЙрдирдХा address рднी рдкाрд╕ рдХिрдпा рдЬा рд╕рдХрддा рд╣ै। рдРрд╕ा рдХрд░рдиे рдкрд░ рдЙрди variables рдХा address parameter variables рдоें copy рд╣ोрдЧा рдФрд░ parameter variable memory рдоें рдЕрд╕рд▓ argument variables рдХो рд╣ी point рдХрд░ेंрдЧे।
рдЗрд╕ рддрд░рд╣ рдХे function call рдХो call by reference рдХрд╣ा рдЬाрддा рд╣ै। рдЗрд╕ рддрд░рд╣ рдХे function call рдоें рдЕрд╕рд▓ argument variables рдХा address pass рдХिрдпा рдЬाрддा рд╣ै। рдРрд╕ा рдХрд░рдиे рд╕े function рдХे рдЕंрджрд░ рдпрджि parameter variables рдХी values рдоें changes рдЖрддे рд╣ै рддो рдЙрд╕рд╕े рдЕрд╕рд▓ argument variables рдХी values рдоें рднी changes рдЖрддे рд╣ै। рдпाрдиी parameters рдоें change рдЖрдиे рдкрд░ arguments рднी change рд╣ो рдЬाрддे рд╣ै।
рдЗрд╕ рддрд░рд╣ рдХे function call рдоें arguments рдХो address of operator (&) рдХे рд╕ाрде pass рдХिрдпा рдЬाрддा рд╣ै। рдпрд╣ operator argument рдХा address parameter variables рдХो pass рдХрд░рддा рд╣ै। рдЗрд╕рдХे рдЕрд▓ाрд╡ा function рдХे declaration рдФрд░ definition рдоें parameters рдХो value at (*) operator рдХे рд╕ाрде define рдХिрдпा рдЬाрддा рд╣ै।
output
value of x is 20

0 Comments
Please don't Add spam links,
if you want backlinks from my blog contact me on rakeshmgs.in@gmail.com