सी ++ में पॉइंटर्स कैसे लागू करें?



यह लेख आपको C ++ में संकेतकर्ताओं की अवधारणा से परिचित कराएगा और फिर एक सहायक व्यावहारिक प्रदर्शन के साथ इसका पालन करेगा।

संकेत करते हैं C ++ में एक चर है जो c ++ में दूसरे चर का पता रखता है। पता पॉइंटर चर में संग्रहीत किया जाता है और कॉल-बाय-संदर्भ के कार्यान्वयन में मदद करता है।

इस लेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,





C ++ पर पॉइंटर्स पर इस लेख के साथ शुरू करना

वाक्य - विन्यास:



डेटाटाइप * पॉइंटरनैम उदाहरण: int * ptr
  • एक पॉइंटर वैरिएबल में उसके नाम से पहले एक * चिन्ह होता है।
  • एक सूचक को एक लोकेटर या संकेतक भी कहा जाता है।

सूचक के उपयोग:

  • गतिशील मेमोरी आवंटन
  • एरे, स्ट्रक्चर, और फ़ंक्शंस के विभिन्न कार्यक्रमों में

यहाँ एक उदाहरण कोड है:

# नाम का उपयोग करके नाम स्थान std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

आउटपुट:
आउटपुट- C ++ - Edureka में पॉइंटर्स



स्पष्टीकरण:

उपरोक्त कार्यक्रम में, हम एक पॉइंटर के मूल काम को दिखाते हैं। हमारे पास एक पूर्णांक चर संख्या है जिसका मान 17 है। हमारे पास सूचक चर हैं प्रकार int। हम पॉइंटर ptr पर संख्या का पता असाइन करते हैं।

हम पहले ptr के मान को प्रिंट करते हैं, यही एड्रेस है। अगला, हम संख्या मान को प्रिंट करते हैं और अंत में, हम पॉइंटर पॉटर द्वारा रखे गए स्थान पर मूल्य प्रिंट करते हैं।

C ++ पर पॉइंटर्स पर इस लेख के साथ आगे बढ़ना

संकेत और सारणी:

हम सरणी के पहले तत्व को पॉइंटर के रूप में मान सकते हैं, क्योंकि सरणी नाम में पहले तत्व का पता होता है। हम निम्नलिखित फैशन में एक सूचक का उपयोग कर सकते हैं।

जावा कमांड लाइन तर्क उदाहरण

यहाँ एक उदाहरण कोड है:

# नाम का उपयोग करके नाम स्थान std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 आउटपुट: 

स्पष्टीकरण:

उपरोक्त कार्यक्रम में, हम एक सरणी के साथ पॉइंटर के मूल काम को दिखाते हैं। हमारे पास 5,10,20 मानों के साथ एक सरणी गिरफ्तार है। हमारे पास सूचक int प्रकार के ptr int हैं। हम पॉइंटर पटर को गिरफ्तारी का पता देते हैं।

हम पहले ptr [0] के मूल्य को प्रिंट करते हैं, जो कि सरणी का पहला तत्व है। अगला, हम क्रमशः दूसरे और तीसरे तत्वों को प्रिंट करते हैं। चूंकि सरणी तत्वों को लगातार संग्रहीत किया जाता है, इसलिए सूचक वृद्धि के द्वारा सरणी के अन्य स्थान तक पहुंच सकता है।

C ++ पर पॉइंटर्स पर इस लेख के साथ आगे बढ़ना

अशक्त बिंदु:

पॉइंटर्स के प्रकार हैं जिनका कोई मूल्य नहीं है और एक शून्य मान रखता है

उदाहरण :

int * ptr = NULL

वे एक लिंक की गई सूची की तरह डेटा संरचनाओं में बहुत उपयोगी हैं।

C ++ पर पॉइंटर्स पर इस लेख के साथ आगे बढ़ना

शून्य संकेत:

ये पॉइंटर्स के प्रकार होते हैं जिनमें रिटर्न टाइप नहीं होता है।

C ++ पर पॉइंटर्स पर इस लेख के साथ आगे बढ़ना

दशमलव कनवर्टर जावा के लिए द्विआधारी

सूचक अंकगणितीय ऑपरेशन:

पॉइंटर्स पर विभिन्न ऑपरेशन किए जा सकते हैं। यहाँ कुछ महत्वपूर्ण प्रकार हैं।

  • बढ़ा हुआ (++)
  • घटा हुआ (-)
  • दो बिंदुओं के बीच अंतर (p1-P2)
  • सूचक के लिए पूर्णांक के अलावा (+ या + =)
  • एक सूचक से एक पूर्णांक का घटाव (- या - =)

इन कार्यों में से कुछ को डेमो करने के लिए एक कोड है:

# नाम का उपयोग करके नाम स्थान std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr (int i = 0 i)<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

आउटपुट:

स्पष्टीकरण:

हम उपर्युक्त कार्यक्रम में सूचक चर की वृद्धि के सरल अंकगणितीय ऑपरेशन को प्रदर्शित करते हैं।

C ++ पर पॉइंटर्स पर इस लेख के साथ आगे बढ़ना

सूचक को इंगित करने के लिए:

इस प्रकार की प्रणाली में, दो बिंदु होते हैं। पहला पॉइंटर दूसरे पॉइंटर की ओर इशारा करता है और दूसरा पॉइंटर उस वैल्यू को पकड़े हुए वैरिएबल की ओर इशारा करता है।

यहाँ एक उदाहरण कोड है:

# नाम का उपयोग करके नाम स्थान std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

आउटपुट:

C ++ पर पॉइंटर्स पर इस लेख के साथ आगे बढ़ना

सूचक कार्य करने के लिए:

यह कार्य करने के लिए संकेत पारित करने का एक तरीका है। फ़ंक्शन पैरामीटर को पॉइंटर प्रकार के रूप में घोषित किया जाना चाहिए। यह नीचे दिए गए कोड में दिखाया गया है,

# नाम का उपयोग करके नाम स्थान std फ़्लोट गेटअवरेज (int * arrest, int size) int main () {int बैलेंस [5] = {1432, 232, 3232, 17, 502} फ्लोट एवीजी avg = गेटवेस्ट (शेष, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


आउटपुट

यह है कि हम एक फ़ंक्शन को एक पॉइंटर पास करते हैं।

इस प्रकार हम 'सी ++ में पॉइंटर्स' पर इस लेख के अंत में आ गए हैं। आप और अधिक जानने के लिए चाहते हैं, तो बाहर की जाँच करें Edureka, एक विश्वसनीय ऑनलाइन शिक्षण कंपनी है। आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।