आउटपुट
mauqyaF.sai:5:5: galatai: pataa ka paMjaikr car ?P? Anauraeoaita
mauDznama("%u",&P);
^~~~~~
बाहरी
बाहरी संग्रहण वर्ग का उपयोग संकलक को यह बताने के लिए किया जाता है कि बाहरी के रूप में परिभाषित चर को कार्यक्रम में कहीं और बाहरी लिंकेज के साथ घोषित किया जाता है। बाहरी घोषित चर को किसी भी मेमोरी को आवंटित नहीं किया जाता है। यह केवल घोषणा है और यह निर्दिष्ट करने का इरादा है कि चर को कार्यक्रम में कहीं और घोषित किया गया है। बाहरी अभिन्न प्रकार का डिफ़ॉल्ट प्रारंभिक मान 0 अन्यथा शून्य है। हम केवल विश्व स्तर पर बाहरी चर को इनिशियलाइज़ कर सकते हैं, यानी, हम किसी भी ब्लॉक या विधि के भीतर बाहरी चर को इनिशियलाइज़ नहीं कर सकते हैं। एक बाहरी चर को कई बार घोषित किया जा सकता है, लेकिन केवल एक बार आरंभ किया जा सकता है। यदि किसी चर को बाहरी घोषित किया जाता है, तो कंपाइलर उस चर को कार्यक्रम में कहीं न कहीं आरंभ करने के लिए खोजता है जो बाहरी या स्थिर हो सकता है। यदि यह नहीं है, तो संकलक एक त्रुटि दिखाएगा।
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
baahri paunaZ P;
mauDznama("%paunaZ",P);
}
आउटपुट
mauqyaF.sai:(.maulapaaV+06): ApariBaaSaita saMDBaZ kae P'
klaeKTR2: galatai: Pladi laaITaRhuAa 1 naigaZma sYaitai
आउटपुट
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ P;
paunaZ mauqyaF()
{
baahri paunaZ P; // car P hI pariBaaSaita vaiSvaRstarRpar, yaaD EcCa nahiM haenaa AabaMTita kae P
mauDznama("%paunaZ",P);
}
आउटपुट
0
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ P;
paunaZ mauqyaF()
{
baahri paunaZ P = 0; // yah EcCa DiqaaAae P saMklak galatai tabaRsae hma krRsaknaa nahiM Upayaaega baahri AaIr pzaarMBaktaaZ par vahi kalaF
mauDznama("%paunaZ",P);
}
आउटपुट
saMklana kalaF galatai
mauqyaF.sai: maeM samaaraeh ?mauqyaF?:
mauqyaF.sai:5:16: galatai: ?P? hI DaenaaeM ?baahri? AaIr pzaarMBaktaaZ
baahri paunaZ P = 0;
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
baahri paunaZ P; // saMklak EcCa qaaeja yahaWM kurftae P car P pariBaaSaita AaIr paDpajapaMsapazmak khiM maeM paaegazama yaa nahiM.
mauDznama("%paunaZ",P);
}
paunaZ P = 20;
आउटपुट
20
उदाहरण
baahri paunaZ P;
paunaZ P = 10;
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
mauDznama("%paunaZ",P);
}
paunaZ P = 20; // saMklak EcCa DiqaaAae Pk galatai par yah reqaa
आउटपुट
saMklana kalaF galatai
सी (ऑटो, बाहरी, स्थैतिक, रजिस्टर) में भंडारण कक्षाएं
सी में भंडारण कक्षाओं का उपयोग जीवनकाल, दृश्यता, स्मृति स्थान और एक चर के प्रारंभिक मूल्य को निर्धारित करने के लिए किया जाता है। सी में चार प्रकार के भंडारण कक्षाएं हैं स्वत: बाहरी स्थिर पंजीकरण करवाना
भंडारण कक्षाएं भंडारण स्थान डिफ़ॉल्ट मान गुंजाइश जीवनकाल फ़ंक्शन के भीतर ऑटो राम कचरा मूल्य स्थानीय मुख्य कार्यक्रम के अंत तक बाहरी राम जीरो ग्लोबल शायद कार्यक्रम में कहीं भी घोषित किया गया स्टेटिक राम शून्य स्थानीय मुख्य कार्यक्रम के अंत तक, कई फ़ंक्शंस कॉल के बीच मूल्य को बनाए रखता है फ़ंक्शन के भीतर रजिस्टर रजिस्टर कचरा मूल्य स्थानीय
स्वत:
स्वचालित चर को रनटाइम पर स्वचालित रूप से मेमोरी आवंटित किया जाता है। स्वचालित चर की दृश्यता उस ब्लॉक तक सीमित है जिसमें वे परिभाषित हैं। स्वचालित चर का दायरा उस ब्लॉक तक सीमित है जिसमें वे परिभाषित हैं। ऑटोमैटिक वैरिएबल को डिफ़ॉल्ट रूप से कचरे के लिए आरंभ किया जाता है। स्वचालित चर को सौंपी गई मेमोरी ब्लॉक से बाहर निकलने पर मुक्त हो जाती है। स्वचालित चर को परिभाषित करने के लिए उपयोग किया जाने वाला कीवर्ड ऑटो है। प्रत्येक स्थानीय चर डिफ़ॉल्ट रूप से C में स्वचालित है।
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
paunaZ P; //svayaM
AxarF bai;
ApaunaZ sai;
mauDznama("%paunaZ %AxarF %ApaunaZ",P,bai,sai); // CpaaEZ pzaarMBaik galataiRkrnaa kimata ka svatarf car P, bai, AaIr sai.
naivaZtanama 0;
}
आउटपुट
kcara kcara kcara
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
paunaZ P = 10,maIM;
mauDznama("%paunaZ ",++P);
{
paunaZ P = 20;
kurftae (maIM=0;maIM<3;maIM++)
{
mauDznama("%paunaZ ",P); // 20 EcCa haenaa mauita 3 TaEmsa tabaRsae yah hI sYaanaiya kimata ka P
}
}
mauDznama("%paunaZ ",P); // 11 EcCa haenaa mauita tabaRsae Dayara ka P = 20 hI samaapta.
}
आउटपुट
11 20 20 20 11
स्थिर
स्थैतिक विनिर्देशक के रूप में परिभाषित चर कई फ़ंक्शन कॉल के बीच उनके मूल्य को पकड़ सकते हैं। स्थिर स्थानीय चर केवल उस फ़ंक्शन या ब्लॉक में दिखाई देते हैं जिसमें वे परिभाषित होते हैं। एक ही स्थिर चर को कई बार घोषित किया जा सकता है लेकिन केवल एक समय में सौंपा जा सकता है। स्टेटिक इंटीग्रल वैरिएबल का डिफ़ॉल्ट प्रारंभिक मान 0 अन्यथा शून्य है। स्टेटिक ग्लोबल वैरिएबल की दृश्यता उस फ़ाइल तक सीमित है जिसमें उसने घोषित किया है। स्थिर चर को परिभाषित करने के लिए उपयोग किया जाने वाला कीवर्ड स्थिर है।
उदाहरण
#samaahitaF<PsaTidiAayaAae.Pca>
sYaayaiF AxarF sai;
sYaayaiF paunaZ maIM;
sYaayaiF ApaunaZ Ppaf;
sYaayaiF AxarF Psa[100];
riKta mauqyaF ()
{
mauDznama("%paunaZ %paunaZ %ApaunaZ %SabDF",sai,maIM,Ppaf); // pzaarMBaik galataiRkrnaa kimata ka sai, maIM, AaIr Ppaf EcCa haenaa mauita.
}
आउटपुट
0 0 0.000000 (vyaYaZ)
उदाहरण
#samaahitaF<PsaTidiAayaAae.Pca>
riKta jaaed.()
{
sYaayaiF paunaZ P = 10;
sYaayaiF paunaZ bai = 24;
mauDznama("%paunaZ %paunaZ \n",P,bai);
P++;
bai++;
}
riKta mauqyaF()
{
paunaZ maIM;
kurftae(maIM = 0; maIM< 3; maIM++)
{
jaaed.(); // sYaayaiF car rqataiRhI Unaka kimata baicaRmaeM Pkaoaik samaaraeh kla.
}
}
आउटपुट
10 24
11 25
12 26
पंजीकरण करवाना
रजिस्टर के रूप में परिभाषित चर को सीपीयू में शेष मेमोरी के आकार के आधार पर मेमोरी को सीपीयू रजिस्टरों में आवंटित किया जाता है। हम रजिस्टर चर को समाप्त नहीं कर सकते हैं, अर्थात, हम रजिस्टर चर के लिए उपयोग और ऑपरेटर नहीं कर सकते हैं। रजिस्टर चर का उपयोग समय स्वचालित चर की तुलना में तेज है। रजिस्टर स्थानीय चर का प्रारंभिक डिफ़ॉल्ट मान 0 है। रजिस्टर कीवर्ड का उपयोग चर के लिए किया जाता है जिसे सीपीयू रजिस्टर में संग्रहीत किया जाना चाहिए। हालांकि, यह संकलक है? क्या पसंद है या नहीं; चर को रजिस्टर में संग्रहीत किया जा सकता है। हम ज्वाइनर्स को रजिस्टर में संग्रहीत कर सकते हैं, यानी, एक रजिस्टर एक चर के पते को संग्रहीत कर सकता है। स्थिर चर को रजिस्टर में संग्रहीत नहीं किया जा सकता है क्योंकि हम एक ही चर के लिए एक से अधिक भंडारण विनिर्देशक का उपयोग नहीं कर सकते हैं।
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
paMjaikr paunaZ P; // car P hI AabaMTita yaaD maeM bcn paMjaikr. pzaarMBaik galataiRkrnaa kimata ka P hI 0.
mauDznama("%paunaZ",P);
}
आउटपुट
0
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
paMjaikr paunaZ P = 0;
mauDznama("%u",&P); // yah EcCa Denaa P saMklana kalaF galatai tabaRsae hma krRsaknaa nahiM pahuWMca pataa ka P paMjaikr car.
}