हिंदी माध्यम नोट्स
C++ : SCOPE in hindi , what is scope in c++ language
what is scope in c++ language , C++ : SCOPE in hindi :-
इससे पहले के article मे function के type , structure , default parameter और return statement को discuss किया गया है | function के आधार variable को दो भागो मे divind किया गया है |
C++ language मे किसी variable को दो feture होता है :-
1.type : ये data variable के type को define करता है |
2.Storage class : ये data variable के visiablity , scope और usage को define करता है | storage class से variable की lifetime और scope को define करता है | lifetime का मतलब है variable की time period जब तक ये active होता है | और scope का मतलब होता है variable की activeness प्रोग्राम मे जब तक active रहता है |
c++ मे data type int , char , float और double आदि होते है | जिसे हम पहले discuss कर चुके है | अब इस article मे storage class को discuss करेगे |
c++ मे निन्म मुख्य storage class होती है :-
1.local variable
जब किसी variable को function के अन्दर declare किया जाता है | उस variable को local variable कहते है इसमें variable को {} मे लिखा जाता है | अतः scope केवल function की body मे ही होता है | अथार्त variable का activeness केवल function की body मे ही होता है | जब प्रोग्राम / function को terminate किया जाता है तब local variable का activeness भी destroyed हो जाती है |
इसका उदाहरन होता है :
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
int a,b ;
cout<<“Enter value 1 : “;
cin>>a;
cout<<“Enter value2 : “;
cin>>b;
int output = fmod(a,b);
cout<<” remainder output of v2/v1:”<<output<<endl
}
getch();
}
इसके उदाहरन मे , यूजर द्वारा दो value को input किया जाता है | इन value को a और b मे assign किया जाता है | और इस int output = fmod(a,b); इस statement से first remainder expression की value को calculate किया जाता है | यहा पर variable ‘a’ और ‘b’ दोनों local variable है क्योकि इन्हें main() function मे declare किया गया है | in variable को main() function के बहार use नहीं कर सकता है |
इसका आउटपुट होगा :
Enter value 1 : 100
Enter value 2 : 1000
remainder output of v1 : 100
1.Global variable
जब किसी variable को function के बहार declare किया जाता है | उस variable को global variable कहते है इसमें variable को {} के बहार लिखा जाता है | अतः scope पुरे function की body के साथ दुसरे main() मे ही होता है | अथार्त variable का activeness function की body और main() मे ही होता है | जब प्रोग्राम / function को terminate किया जाता है तब local variable का activeness भी destroyed नहीं होता है |
इसका उदाहरन होता है :
#include<iostream.h>
#include<conio.h>
#include<math.h>
int a,b ;
void sub(int , int );
void main()
{
cout<<“Enter value 1 : “;
cin>>a;
cout<<“Enter value2 : “;
cin>>b;
int output = fmod(a,b);
cout<<” remainder output of a/b:”<<output<<endl
}
getch();
}
void add(int ,int )
{
cout<<“Enter value 1 : “;
cin>>a;
cout<<“Enter value2 : “;
cin>>b;
int c= a+b;
cout<<” addition output of a+b :”<<c<<endl
}
इसके उदाहरन मे , यूजर द्वारा दो value को input किया जाता है | इन value को a और b मे assign किया जाता है | और इस int output = fmod(a,b); इस statement से first remainder expression की value को calculate किया जाता है | यहा पर variable ‘a’ और ‘b’ दोनों global variable है क्योकि इन्हें main() function के बहार declare किया गया है | इन variables को main() function और add() function मे use किया गया है |
इसका आउटपुट होगा :
Enter value 1 : 100
Enter value 2 : 10
remainder output of a/b : 10
Enter value 1 : 100
Enter value 2 : 1000
addition output of a+b : 1100
Static variable
static variable एसे variable को कहते है जिसका scope local variable के तरह होता है लेकिन इसकी value पुरे प्रोग्राम मे constant रहता है | इसका मतलब है की इस variable की activeness केवल प्रोग्राम / function तक रहती है | और अगर एक बार static variable को initial किया जा सकता है | उसके बाद इसकी value को change नहीं कर सकता है | इस variable को declare करने के लिए static keyword को use किया जाता है |
#include<iostream.h>
#include<conio.h>
#include<math.h>
void sub(int , int );
void main()
{
static int a,b ;
cout<<“Enter value 1 : “;
cin>>a;
cout<<“Enter value2 : “;
cin>>b;
int output = fmod(a,b);
int output2 = add(a,b);
cout<<” remainder output of a/b:”<<output<<endl;
cout<<” addition output of a+b :”<<c<<endl;
}
getch();
}
void add(int e ,int f )
{
int c= e + f ;
return c;
}
इसके उदाहरन मे , यूजर द्वारा दो static value को input किया जाता है | इन value को a और b मे assign किया जाता है | और इस int output = fmod(a,b); इस statement से first remainder expression की value को calculate किया जाता है | और इस int output = add(a,b); इस statement से addition को calculate किया जाता है यहा पर variable ‘a’ और ‘b’ दोनों static variable है क्योकि इन्हें value को एक बार initail किया जा सकता है |
इसका आउटपुट होगा :
Enter value 1 : 100
Enter value 2 : 10
remainder output of a/b : 10
addition output of a+b : 1100
Register variable
Register variable ये variable होता है जिसे computer memory मे register मे store किया जाता है |इसे declare करने के लिए register keyword को use किया जाता है | ये variable नोरमल variable की तरह होते है लेकिन इन variable नोरमल variable से faster access किया जा सकता है | c++11 मे register variable को declare नहीं किया जाता है | क्योकि register keyword को c++11 मे allow नहीं कर सकते है |
Thread Local Storage
Thread Local Storage ये वो class होती है जिसमे variable के एक उदाहरन को प्रोग्राम मे declare किया जाता है इसके लिए Thread_local keyword को use किया जा सकता है |
इस article मे storage class को अच्छी तरह से discuss किया गया है | अब आगे के article मे function recursion को discuss करेगे |
Recent Posts
मालकाना का युद्ध malkhana ka yudh kab hua tha in hindi
malkhana ka yudh kab hua tha in hindi मालकाना का युद्ध ? मालकाना के युद्ध…
कान्हड़देव तथा अलाउद्दीन खिलजी के संबंधों पर प्रकाश डालिए
राणा रतन सिंह चित्तौड़ ( 1302 ई. - 1303 ) राजस्थान के इतिहास में गुहिलवंशी…
हम्मीर देव चौहान का इतिहास क्या है ? hammir dev chauhan history in hindi explained
hammir dev chauhan history in hindi explained हम्मीर देव चौहान का इतिहास क्या है ?…
तराइन का प्रथम युद्ध कब और किसके बीच हुआ द्वितीय युद्ध Tarain battle in hindi first and second
Tarain battle in hindi first and second तराइन का प्रथम युद्ध कब और किसके बीच…
चौहानों की उत्पत्ति कैसे हुई थी ? chahamana dynasty ki utpatti kahan se hui in hindi
chahamana dynasty ki utpatti kahan se hui in hindi चौहानों की उत्पत्ति कैसे हुई थी…
भारत पर पहला तुर्क आक्रमण किसने किया कब हुआ first turk invaders who attacked india in hindi
first turk invaders who attacked india in hindi भारत पर पहला तुर्क आक्रमण किसने किया…