सी में चर
एक वेरिएबल मेमोरी लोकेशन का नाम होता है। इसका उपयोग जानकारी संग्रहीत करने के लिए किया जाता है। इसकी मान को बदला और कई बार उपयोग किया जा सकता है। यह प्रतीकों के द्वारा मेमोरी लोकेशन को दर्शाने का एक तरीका है ताकि इसे आसानी से पहचाना जा सके।
परिवर्ती सी प्रोग्रामिंग भाषा के मुख्य घटक हैं जो कंप्यूटर प्रोग्राम में डेटा को संग्रहित और संशोधित करने के लिए उपयोग किए जाते हैं। एक परिवर्तक एक निर्दिष्ट डेटा प्रकार के मान को संग्रहित करने के लिए एक निर्धारित मेमोरी क्षेत्र है। प्रत्येक परिवर्तक का एक अद्वितीय पहचानकर्ता होता है, इसका नाम, और एक डेटा प्रकार होता है जो यह बताता है कि इसमें किस प्रकार का डेटा हो सकता है।
कैसे लिखें
data_type चर_नाम;
data_type: यह उस डेटा के प्रकार को दर्शाता है जिसे वेरिएबल रख सकता है। C में डेटा प्रकारों के उदाहरण हैं paunaZ (पूरे संख्या), ApaunaZ (एक फ्लोटिंग-पॉइंट संख्या), AxarF (चरित्र), AMk (एक डबल-प्रिसीजन फ्लोटिंग-पॉइंट संख्या)।
variable_name: यह वेरिएबल के लिए पहचानकर्ता है, यानी वह नाम जो आप वेरिएबल को देते हैं ताकि बाद में प्रोग्राम में इसकी वैल्यू तक पहुँच सकें। वेरिएबल का नाम कुछ विशेष नियमों का पालन करना चाहिए, जैसे एक अक्षर या अंडरस्कोर से शुरू होना और अक्षरों, अंकों और अंडरस्कोर से मिलकर बना होना चाहिए।
उदाहरण के लिए, पूर्णांक चर युग घोषित करने के लिए:
paunaZ Aayau;
यह एक पूर्णांक चर में उम्र नामक एक चर को बिना किसी विशेष मान के घोषित करता है। चर को घोषणा के समय प्रारंभिक मान देकर भी प्रारंभ किया जा सकता है। उदाहरण के लिए:
paunaZ gainataiRkrnaa = 0;
यहां, चर गणना को एक पूर्णांक घोषित किया जाता है और 0 के साथ आरंभीकृत किया जाता है।
नोट: वेरिएबल्स को प्रोग्राम में उपयोग करने से पहले परिभाषित करना चाहिए। एक वेरिएबल का स्कोप यह निर्धारित करता है कि इसे कहाँ पहुंचा जा सकता है। किसी फ़ंक्शन या ब्लॉक के अंदर घोषित किए गए वेरिएबल्स को स्थानीय वेरिएबल्स माना जाता है, जबकि किसी फ़ंक्शन के बाहर घोषित किए गए वेरिएबल्स को वैश्विक वेरिएबल्स माना जाता है।
कैसे लिखें
वैरिएबल_लिस्ट टाइप करें;
उदाहरण
paunaZ P;
ApaunaZ bai;
AxarF sai;
यहाँ, ए, बी, और सी चर हैं। paunaZ, ApaunaZ, और AxarF डेटा प्रकार हैं। हम चर को परिभाषित करते समय मान भी प्रदान कर सकते हैं, जैसा कि नीचे दिखाया गया है:
paunaZ P=20,bai=30;//oaaeSanaa 2 car ka paunaZaMk pzakar
ApaunaZ Ppaf=20.9;
AxarF sai='P';
चर को परिभाषित करने के लिए नियम
C में, चर नामों को मान्य होने के लिए कुछ नियमों का पालन करना चाहिए। यहाँ C में चर नाम रखने के नियम हैं:
**स्वीकृत अक्षर:**
चर नामों में अक्षर (बड़े और छोटे दोनों), अंक, और अंडरस्कोर शामिल होते हैं। इन्हें एक अक्षर (बड़ा या छोटा) या अंडरस्कोर से शुरू होना चाहिए।
**केस संवेदनशीलता:**
C एक केस-सेंसिटिव प्रोग्रामिंग भाषा है। इसका मतलब है कि बड़े और छोटे अक्षर अलग माने जाते हैं।
उदाहरण के लिए, myVar, MyVar, और myvar सभी अलग चर नाम माने जाते हैं।
**कीवर्ड:**
चर नाम C के कीवर्ड (संरक्षित शब्दों) के समान नहीं हो सकते, क्योंकि इनके भाषा में विशेष अर्थ होते हैं।
उदाहरण के लिए, आप paunaZ, ApaunaZ, AxarF, kurftae, yaavaD, आदि को चर नाम के रूप में उपयोग नहीं कर सकते।
**लंबाई सीमा:**
C में चर नामों की लंबाई के लिए कोई मानक सीमा नहीं है, लेकिन इन्हें उचित रूप से छोटा और वर्णनात्मक रखना सबसे अच्छा है।
कुछ कंपाइलर चर नामों की अधिकतम लंबाई निर्धारित कर सकते हैं।
**स्पेस और विशेष अक्षर:**
चर नामों में स्पेस या विशेष अक्षर (जैसे !, @, #, $, %, ^, &, *, (, ), -, +, =, [, ], {, }, |, \, /, <, >, ., ?, ';', या ") नहीं हो सकते।
चर नामों में केवल अंडरस्कोर विशेष अक्षर के रूप में मान्य हैं।
**संरक्षित पहचानकर्ता:**
हालांकि यह पूरी तरह से एक नियम नहीं है, लेकिन पुस्तकालयों या मानक उपयोग में सामान्य पैटर्न या पहचानकर्ताओं से बचना बेहतर होता है।
उदाहरण के लिए, __ (डबल अंडरस्कोर) से शुरू होने वाले चर आमतौर पर सिस्टम या कंपाइलर-विशिष्ट उपयोग के लिए आरक्षित होते हैं।
**चर नामों के मान्य उदाहरण:**
paunaZ Aayau;
ApaunaZ vaetana;
AxarF RsYaitai;
AMk AaIsataRkaer;
paunaZ CaOaa;
चर नामों के अमान्य उदाहरण:
paunaZ 1ejaDnaUEmata; // pzaarMBaRhaegaa saaYa P AMk
ApaunaZ maera-vaetana; // raeknaa P hIpafena (-)
AxarF paunaZ; // vahi jaIsaa P sai kivadZ
paunaZ AMk; // vahi jaIsaa P sai kivadZ
ApaunaZ maera$var; // raeknaa Pk AsamaYZaita vaiSaeSa cariOa
इन नियमों का पालन करने से यह सुनिश्चित होता है कि आपके चर नाम वैध हैं और C भाषा के व्याकरण और मानकों का पालन करते हैं। चर के लिए अर्थपूर्ण और वर्णनात्मक नाम चुनना आपके कोड की पठनीयता और रखरखाव को बढ़ाने के लिए महत्वपूर्ण है।
एक चर घोषित करने के तीन घटक
आइए हम एक चर को परिभाषित करने के तीन पहलुओं की व्याख्या करें: चर घोषणा, चर परिभाषा, और चर आरंभीकरण, उदाहरणों के साथ।
1. चर घोषणा:
वेरिएबल की मौजूदगी और डेटा प्रकार के बारे में कंपाइलर को बताने की प्रक्रिया को वेरिएबल डिक्लेरेशन कहा जाता है। यह कंपाइलर को सूचित करता है कि एक विशेष नाम और डेटा प्रकार का वेरिएबल प्रोग्राम में उपयोग किया जाएगा। लेकिन इस समय वेरिएबल के लिए कोई मेमोरी आवंटित नहीं की जाती है। इसे आमतौर पर एक फ़ंक्शन या ब्लॉक की शुरुआत में देखा जाता है, इससे पहले कि वेरिएबल का उपयोग किया जाए।
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF() {
// car oaaeSanaa
paunaZ Aayau;
ApaunaZ vaetana;
AxarF pzaarMBaik;
naivaZtanama 0;
}
2. चर परिभाषा:
एक वेरिएबल के लिए मेमोरी स्पेस आरक्षित करने की प्रक्रिया को वेरिएबल परिभाषा कहा जाता है। यह डेटा प्रकार पर आधारित होता है और वेरिएबल के नाम को एक विशेष मेमोरी पते से जोड़ता है जो पर्याप्त आकार का होता है।
C में एक वेरिएबल को एक ही स्टेटमेंट में घोषित और परिभाषित किया जा सकता है, हालांकि यदि आवश्यक हो तो इन्हें अलग भी किया जा सकता है।
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF() {
// car pariBaaSaa
paunaZ Aayau = 25;
ApaunaZ vaetana = 2500.5;
AxarF pzaarMBaik = 'jae';
naivaZtanama 0;
}
3. चर आरंभीकरण:
वेरिएबल डिक्लरेशन का मतलब है कंपाइलर को यह बताना कि एक वेरिएबल मौजूद है और इसका डेटा प्रकार क्या है। यह कंपाइलर को यह बताता है कि एक विशेष नाम और डेटा प्रकार वाला वेरिएबल प्रोग्राम में इस्तेमाल किया जाएगा, लेकिन उसके लिए अभी मेमोरी आवंटित करना बाकी है।
अगर वेरिएबल कोexplicitly/init नहीं किया गया है, तो वह अनियमित/रैंडम डेटा रखेंगे, जिससे प्रोग्राम का व्यवहार अप्रत्याशित हो सकता है।
उदाहरण
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF() {
// car pariBaaSaa AaIr pzaarMBa
paunaZ Aayau = 25;
ApaunaZ vaetana = 2500.5;
AxarF pzaarMBaik = 'jae';
// baaDRmaeM maeM kayaZkzma, Aapa krRsaknaa parivataZna kimata ka car
Aayau = 30;
vaetana = 3000.0;
naivaZtanama 0;
}
उपरोक्त उदाहरण में, हमारे पास उम्र, वेतन, और प्रारंभिक घोषणाएँ हैं। इसके बाद, हम इन متغیرों को परिभाषित करते हैं और उन्हें प्रारंभिक मानों से प्रारंभ करते हैं (जैसे, उम्र = 25)। बाद में प्रोग्राम में, हम इन متغیرों के मानों को बदल सकते हैं (जैसे, उम्र = 30)।
सी में चर के प्रकार
C में कई प्रकार के चर हैं: स्थानीय चर वैश्विक चर स्थैतिक चर स्वत: चर बाह्य चर
स्थानीय चर
एक वेरिएबल जो फंक्शन या ब्लॉक के अंदर घोषित किया गया है, उसे स्थानीय वेरिएबल कहा जाता है।
इसे ब्लॉक की शुरुआत में घोषित करना चाहिए।
riKta inaDbajapavaD1(){
paunaZ PKsa=10;//sYaanaiya car
}
आपको स्थानीय चर को इस्तेमाल करने से पहले इनिशियलाइज़ करना होगा।
वैश्विक चर
एक वेरिएबल जो फंक्शन या ब्लॉक के बाहर घोषित किया गया है, उसे ग्लोबल वेरिएबल कहा जाता है। कोई भी फंक्शन ग्लोबल वेरिएबल का मान बदल सकता है। यह सभी फंक्शनों के लिए उपलब्ध होता है।
इसे ब्लॉक की शुरुआत में घोषित किया जाना चाहिए।
paunaZ kimata=20;//vaISvaik car
riKta inaDbajapavaD1(){
paunaZ PKsa=10;//sYaanaiya car
}
स्थैतिक चर
एक वैरिएबल जिसे sYaayaiF कीवर्ड के साथ घोषित किया गया है, उसे स्थायी वैरिएबल कहा जाता है। यह कई फ़ंक्शन कॉल्स के बीच अपना मान बनाए रखता है।
riKta inaDbajapavaD1(){
paunaZ PKsa=10;//sYaanaiya car
sYaayaiF paunaZ la=10;//sYaayaiF car
PKsa=PKsa+1;
la=la+1;
mauDznama("%paunaZ,%paunaZ",PKsa,la);
}
अगर आप इस फ़ंक्शन को कई बार बुलाते हैं, तो लोकल वेरिएबल हर बार एक ही वैल्यू प्रिंट करेगा, जैसे 11, 11, 11 आदि। लेकिन स्टैटिक वेरिएबल हर बार इंक्रीमेंटेड वैल्यू प्रिंट करेगा, जैसे 11, 12, 13 आदि।
स्वत: चर
C में जो भी वेरिएबल ब्लॉक के अंदर घोषित किए जाते हैं, वे डिफ़ॉल्ट रूप से ऑटोमैटिक वेरिएबल होते हैं। हम ऑटो कीवर्ड का उपयोग करके स्पष्ट रूप से एक ऑटोमैटिक वेरिएबल घोषित कर सकते हैं।
riKta mauqyaF(){
paunaZ PKsa=10;//sYaanaiya car (Bai svatarf)
svayaM paunaZ la=20;//svatarf car
}
बाह्य चर
हम एक बाहरी वैरिएबल का उपयोग करके कई C स्रोत फ़ाइलों में एक वैरिएबल साझा कर सकते हैं। एक बाहरी वैरिएबल घोषित करने के लिए, आपको baahri कीवर्ड का उपयोग करना होगा।
baahri paunaZ PKsa=10;//baahri car (Bai vaISvaik)
उदाहरण
#samaahitaF "Ulaipasama.h"
#samaahitaF <PsaTidiAayaAae.Pca>
riKta pzaiMTvaIlyau(){
mauDznama("vaISvaik car: %paunaZ", QsavaEMsaRAMtapaMEsama);
}
निष्कर्ष:
चर (Variables) C में महत्वपूर्ण घटक होते हैं जो मेमोरी में डेटा को संग्रहित और प्रबंधित करते हैं। ये मेमोरी के क्षेत्रों के लिए नामित स्थान धारक के रूप में कार्य करते हैं, जिससे संग्रहीत डेटा की पहचान और पुनर्प्राप्ति आसान होती है। C में चर बनाने की सिंटैक्स में निम्नलिखित शामिल हैं:
1. डेटा प्रकार (Data Type) की घोषणा करना।
2. उस डेटा को निर्दिष्ट करना जो चर ले सकता है।
3. चर को एक अद्वितीय नाम (Unique Name) देना।
कुछ विशिष्ट नियमों का पालन करना, जैसे कि नाम की शुरुआत अल्फ़ाबेट या अम्ल रेखा (_) से होनी चाहिए और आरक्षित कीवर्ड से बचना चाहिए, वैध चर नाम सुनिश्चित करता है। चर को बिना आरंभिक मान (Initialization) के घोषित किया जा सकता है या घोषणा के समय प्रारंभिक मान के साथ असाइन किया जा सकता है। एक बार चर को घोषित करने के बाद, कार्यक्रम के दौरान डेटा को संग्रहित और प्रबंधित करने के लिए उनका उपयोग किया जा सकता है। उन्हें कार्यक्रम के निष्पादन के दौरान आवश्यकता पड़ने पर नए मानों से पुन: असाइन किया जा सकता है।