JOIN us on
WhatsApp Group Join Now
Telegram Join Join Now

हिंदी माध्यम नोट्स

Categories: C Language in hindi

Pointer As Function Argument (Call by Reference) in hindi in c language पॉइंटर फंक्शन आर्गुमेंट की तरह

पॉइंटर फंक्शन आर्गुमेंट की तरह Pointer As Function Argument (Call by Reference) in hindi in c language :-
function मे हमने पढ़ा था की variables को main() function से user define function के लिय दो तरीके होते है |एक call by value और call by reference |
call by value:
इस प्रकार मे variable को function argument मे भेजा  जाता है |इसमें  यूजर define function के द्वारा formal parameter मे हुए changes का effect actual parameter मे नहीं पड़ता है |उदाहरन के लिए :
#include<stdio.h>
#include,conio.h>
int add(int.int);
void main()
{
int a=15,b=23;
add(a,b);        ///call of function by call by value //
getch();
}
void add(int c,int d)  // formal parameter //
{
int sum ;
sum =c+d;
printf(“Output =%d”,sum);
}
इस उदाहरण मे , avariable a और b की value को call function statement add(a,b); मे actual parameter की तरह पास्ड किया गया है |और function definition statement मे formal parameter c और d मे ,वरिअबेल a और b की value सेव होती है |ओत function मे operation perform होती है|call by reference:
जब किसी function के आर्गुमेंट मे variable के address को pass किया जाता है और address को receive करने के लिए pointer को use किया जाता है use method  को call by reference कहते है |इस method मे , function (जिसे called किया जाता है ), calling function के variable की value को change कर सकता है |
उदाहरण के लिए:
#include<conio.n>
#include<stdio.h>
int swap (int * , int *);
void main()
{
int a,b ;
printf(“Enter Data “);
scanf(“%d %d”,&a,&b);
printf(“value of a or b is %d or %d”,a,b);
swap(&a,&b);      // Calling function by reference /address of variable a or b //
printf(“After Swapping”);
printf(“value of a or b is %d or %d”,a,b);
getch(0;
}
void swap (int *c,int *d)
{
int t;
t=*d;
*d=*c;
*c=t;
}
इस उदाहरण मे , user define function मे , कोई भी value return नहीं हो रही है क्योकि इसमें function के आर्गुमेंट मे variable a, b के address को pass किया गया है |और function definition मे pointer varibale c और d मे ,variable a और b के address store हो जाते है |
t=*d; से pointer variable ‘d’ मे store address (variable ‘b’ का address ) पर store value t मे assign हो गयी |
*d=*c; से pointer variable ‘c’ मे store address (variable ‘a’ का address) पर store value ,  pointer variable ‘d’ मे store address (variable ‘b’ का address) पर assign हो जाती है |
*c=t;से pointer variable ‘c’ मे store address (variable ‘a’ का address) मे variable ‘t’ की व;उए store हो जाती है |
inshort , जो भी changes होते है वो variable ‘a’ और ‘b’ की value के साथ होता है |

आउटपुट होगा :
Enter data  12 44
value of a or b is 12 or 44
After Swapping
value of a or b is 44 or 12

Pointer Array as Function Argument 
जब किसी array को function के arguments मे pass किया जाता है तब पुरे array की value function argument pass नही होती है बल्कि array के first element का address function argument मे pass होता है |अतः प्रोग्रामर function definition मे,passed array को receive करने के लिए array  को नहीं ,pointer को use करते है |क्योकि pointer भी array के first element के address को contain करता है |
जैसे
#include<conio.n>
#include<stdio.h>
int print_array (int  , int *);
void main()
{
int a[5],b=5;
printf(“Enter Data “);
scanf(“%d %d”,&a,&b);
for(i=0;i<1;i++)
{
scanf(“%d”,&a[i]);
}
print_array(a , b[]);
getch(0;
}
void  print_array(int c,int *d)
{
for(i=0;i<c;i++)
{
printf(“%d”,*d);
d++;
}
}
इस उदाहरण मे ,array ‘b’  को function print_array () के arguments मे pass किया जाता है |और pointer variable ‘d’ मे receive किया जाता है |


Function Returning Pointer :
C language मे , अगर function मे return statement का use नार्मल variable के साथ हो रहा तो केवल एक ही value return होगी |
लेकिन pointer के साथ ,multiple value को main() function या calling function मे return करा सकता है |
उदाहरण के लिए:
#include<conio.h>
#include<stdio.h>
int *great( int * ,int *);
void main()
{
int a,b;
int *c;
printf(“Data”);
scnaf(“%d %d”,&a,&b);
c=great(&a,&b);
printf(“The greater value is %d”,*c);
getch(0;
}
int *great(int *, int *t)
{
if(*s>*t)
{
return(s);
}
else
{
return(t);
}
}
इस उदहारण मे,function declaration मे int * को use इसलिए किया गया है क्योकि function pointer variable s या t की value को return करता है |

आउटपुट होगा :
data 12 45
The greater value is 45

ये ध्यान रखना है की हमेशा return statement मे pointer variable का address return होगा |और printf(“The greater value is %d”,*c); मे ‘*c’ को use किया गया है | greater value को print करने के  लिए|

Sbistudy

Recent Posts

सती रासो किसकी रचना है , sati raso ke rachnakar kaun hai in hindi , सती रासो के लेखक कौन है

सती रासो के लेखक कौन है सती रासो किसकी रचना है , sati raso ke…

1 day ago

मारवाड़ रा परगना री विगत किसकी रचना है , marwar ra pargana ri vigat ke lekhak kaun the

marwar ra pargana ri vigat ke lekhak kaun the मारवाड़ रा परगना री विगत किसकी…

1 day ago

राजस्थान के इतिहास के पुरातात्विक स्रोतों की विवेचना कीजिए sources of rajasthan history in hindi

sources of rajasthan history in hindi राजस्थान के इतिहास के पुरातात्विक स्रोतों की विवेचना कीजिए…

3 days ago

गुर्जरात्रा प्रदेश राजस्थान कौनसा है , किसे कहते है ? gurjaratra pradesh in rajasthan in hindi

gurjaratra pradesh in rajasthan in hindi गुर्जरात्रा प्रदेश राजस्थान कौनसा है , किसे कहते है…

3 days ago

Weston Standard Cell in hindi वेस्टन मानक सेल क्या है इससे सेल विभव (वि.वा.बल) का मापन

वेस्टन मानक सेल क्या है इससे सेल विभव (वि.वा.बल) का मापन Weston Standard Cell in…

3 months ago

polity notes pdf in hindi for upsc prelims and mains exam , SSC , RAS political science hindi medium handwritten

get all types and chapters polity notes pdf in hindi for upsc , SSC ,…

3 months ago
All Rights ReservedView Non-AMP Version
X

Headline

You can control the ways in which we improve and personalize your experience. Please choose whether you wish to allow the following:

Privacy Settings
JOIN us on
WhatsApp Group Join Now
Telegram Join Join Now