int a ; // and auto int a ; // both are same
Output :#include <iostream.h> using namespace std; int main(){ auto int a; auto int b = 5; cout<<"Value of a : "<<a<<endl; cout<<"Value of b : "<<b; return 0; }
Value of a : 6946708 // garbage value Value of b : 5
extern int a ;
Output :#include <iostream.h> using namespace std; int num = 5 ; void func(); // function declaration int main(){ extern int num ; cout<<"Value of num : "<<num<<endl; func(); // function calling return 0; } void func(){ // function definition extern int num ; cout<<"Value of num : "<<num; }
Value of num : 5 Value of num : 5
register int a ;
Output :#include <iostream.h> using namespace std; int main(){ register int num = 5 ; cout<<"Value of num : "<<num; // printf("Value of num : %d\n",&num); return 0; }
Value of num : 5
static int a ;
निचे दिए हुए General File में int num = 1 ; ये value initialize की है और ये variable एक function में मतलब Local Variable लिया है | function1 इस function को for loop से repeat किया है | ये variable सामान्य होने के कारण इसकी value control के बाहर जाने के बाद नष्ट हो जाती है , इसीलिए इस variable की value increase नहीं होती बल्कि ये बार-बार initial होने से ये initial value को ही for loop के द्वारा बार-बार output में print करता है |
निचे दिए हुए Static File में static int num = 1 ; ये value initialize की है | इस program में General File के मुकाबले सिर्फ static keyword का use किया है | Static variables बिलकुल सामान्य variables के उलट प्रक्रिया करता है | Static Local variables की value control के बाहर जाने के बाद destroy नहीं होती | Static Local variables की value एक बार ही initialize होती है | Static Variables अपने control के बाहर जाने के बाद intialize हुई value को नष्ट नहीं करता, इसीलिए Static File में बार-बार initial value print नहीं होती |
Output :#include <iostream.h> using namespace std; func(){ int num = 1; cout<<num; num++; } int main() { int i; for(i=0; i<10; i++){ cout<<endl; func(); } return 0; }
1 1 1 1 1 1 1 1 1 1
Output :#include <iostream.h> using namespace std; func(){ static int num = 1; cout<<num; num++; } int main() { int i; for(i=0; i<10; i++){ cout<<endl; func(); } return 0; }
1 2 3 4 5 6 7 8 9 10