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

C भाषा में पॉइंटर टू पॉइंटर और शून्य पॉइंटर की अवधारणा को समझाएं?

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

एक सूचक के लिए एक सूचक के लिए घोषणा निम्नलिखित है -

datatype ** pointer_name;

उदाहरण के लिए, int **p; p सूचक का सूचक है

आरंभीकरण - '&' का इस्तेमाल इनिशियलाइज़ेशन के लिए किया जाता है।

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

int a = 10;
int *p;
int **q;
p = &a;

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

उदाहरण

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

#include<stdio.h>
main ( ){
   int A = 10;
   int *p;
   int **q;
   p = &A;
   q = &p;
   printf("A =%d",A);
   printf("A value of pointer = %d", *p);
   printf("A value of double pointer = %d", **q);
}

आउटपुट

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

A=10
A value of pointer = 10
A value of double pointer = 10

शून्य संकेत

यह एक प्रकार का पॉइंटर है जो किसी भी डेटाटाइप वेरिएबल के एड्रेस को होल्ड कर सकता है (या) किसी भी डेटाटाइप वेरिएबल को इंगित कर सकता है।

शून्य सूचक के लिए घोषणा निम्नलिखित है -

void *pointername;

उदाहरण के लिए, शून्य *vp;

एक्सेस करना - टाइप कास्ट ऑपरेटर एक वेरिएबल के मान को उसके पॉइंटर के माध्यम से एक्सेस करने के लिए है।

वाक्य रचना इस प्रकार है -

* ( (type cast) void pointer)

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

int i=10;
void *vp;
vp = &i;
printf ("%d", * ((int*) vp));
type cast

उदाहरण

शून्य सूचक के लिए सी कार्यक्रम निम्नलिखित है -

#include<stdio.h>
main ( ){
   int i =10;
   float f = 5.34;
   void *vp;
   clrscr ( );
   vp = &i;
   printf ("i = %d", * ((int*)vp));
   vp = &f;
   printf ( "f = %f", * ((float*) vp));
   getch ( );
}

आउटपुट

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

i = 10
f = 5.34

  1. C भाषा में कैरेक्टर ऑपरेशंस की व्याख्या करें C भाषा में कैरेक्टर ऑपरेशंस की व्याख्या करें

    वर्ण (ए-जेड (या) ए-जेड), अंक (0-9), एक सफेद स्थान, या सी प्रोग्रामिंग भाषा में एक विशेष प्रतीक हो सकता है। घोषणा सी प्रोग्रामिंग में कैरेक्टर ऑपरेशंस के लिए घोषणा निम्नलिखित है - char a= ‘A’; using a character constant. चरित्र इनपुट / आउटपुट फ़ंक्शन कैरेक्टर इनपुट/आउटपुट फंक्शन्स को नी

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

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

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

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