Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी प्रोग्रामिंग भाषा में पॉइंटर्स की सरणी की व्याख्या करें

पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है।

सुविधाएं

  • सूचक स्मृति स्थान बचाता है।
  • मेमोरी लोकेशन तक सीधी पहुंच के कारण पॉइंटर का निष्पादन समय तेज होता है।
  • पॉइंटर्स की मदद से, मेमोरी को कुशलता से एक्सेस किया जाता है, यानी मेमोरी को गतिशील रूप से आवंटित और डील किया जाता है।
  • पॉइंटर्स का उपयोग डेटा संरचनाओं के साथ किया जाता है।

सूचक घोषणा और प्रारंभ

निम्नलिखित कथन पर विचार करें -

int qty = 179;

मेमोरी में, वेरिएबल को इस प्रकार दर्शाया जा सकता है -

सी प्रोग्रामिंग भाषा में पॉइंटर्स की सरणी की व्याख्या करें

सूचक घोषित करना

इसका अर्थ है कि 'p' एक सूचक चर है, जो एक अन्य पूर्णांक चर का पता रखता है, जैसा कि नीचे दिखाया गया है -

Int *p;

सूचक का प्रारंभ

एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशियलाइज़ करने के लिए किया जाता है।

उदाहरण के लिए - int qty =175;

इंट *पी;

पी=&मात्रा;

पॉइंटर्स की सरणी

यह पतों का संग्रह है (या) पॉइंटर्स का संग्रह

घोषणा

पॉइंटर्स की सरणी के लिए घोषणा निम्नलिखित है -

datatype *pointername [size];

उदाहरण के लिए,

int *p[5];

यह पॉइंटर्स की एक सरणी का प्रतिनिधित्व करता है जिसमें 5 पूर्णांक तत्व पते हो सकते हैं।

आरंभीकरण

'&' का प्रयोग आरंभीकरण के लिए किया जाता है।

उदाहरण के लिए,

int a[3] = {10,20,30};
int *p[3], i;
for (i=0; i<3; i++) (or) for (i=0; i<3,i++)
p[i] = &a[i];
p[i] = a+i;

एक्सेस करना

इनडायरेक्शन ऑपरेटर (*) का उपयोग एक्सेस करने के लिए किया जाता है।

उदाहरण के लिए,

for (i=0, i<3; i++)
printf ("%d", *p[i]);

उदाहरण कार्यक्रम

पॉइंटर्स की सरणी के लिए प्रोग्राम नीचे दिया गया है -

#include<stdio.h>
main ( ){
   int a[3] = {10,20,30};
   int *p[3],i;
   for (i=0; i<3; i++)
      p[i] = &a[i];
   printf ("elements of the array are \n");
   for (i=0; i<3; i++)
      printf ("%d \t", *p[i]);
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

elements at the array are : 10 20 30

उदाहरण 2

नीचे दिए गए पॉइंटर्स टू स्ट्रिंग्स के लिए प्रोग्राम है -

#include <stdio.h>
#include <stdlib.h>
int main(void){
   char *a[5] = {"one", "two", "three", "four", "five"};
   int i;
   printf ( "the strings are at locations:\n");
   for (i=0; i<5; i++)
      printf ("%d\n", a[i]);
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

The strings are at locations:
4210688
4210692
4210696
4210702
4210707

  1. सी भाषा में मोनोलिथिक और मॉड्यूलर प्रोग्रामिंग की व्याख्या करें

    मोनोलिथिक प्रोग्रामिंग और मॉड्यूलर प्रोग्रामिंग के साथ-साथ फायदे और नुकसान के बीच के अंतर को नीचे विस्तार से समझाया गया है। मोनोलिथिक प्रोग्रामिंग यदि, हम एक ही फ़ंक्शन में एक संपूर्ण प्रोग्राम लिखते हैं जो मुख्य फ़ंक्शन में है, तो आप इसे एक मोनोलिथिक प्रकार की प्रोग्रामिंग कहते हैं। लेकिन, एक ही फ

  1. C भाषा में यूनियन टू पॉइंटर को समझाएं

    एक यूनियन को मेमोरी लोकेशन कहा जाता है, जिसे विभिन्न प्रकार के डेटा के कई वेरिएबल द्वारा साझा किया जाता है। सिंटैक्स वाक्य रचना इस प्रकार है - union uniontag{    datatype member 1;    datatype member 2;    ----    ----    datatype member n; }; उदाह

  1. C भाषा में पॉइंटर एक्सेसिंग की अवधारणा की व्याख्या करें

    पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल के एड्रेस को स्टोर करता है। सूचक घोषणा, आरंभीकरण और पहुंच निम्नलिखित कथन पर विचार करें - int qty = 179; सूचक घोषित करना int *p; p एक पॉइंटर वेरिएबल है जो दूसरे इंटीजर वेरिएबल का पता रखता है। सूचक का प्रारंभ एड्रेस ऑपरेटर (&) का उपयोग पॉइंटर वेरिएबल को इनिशि