void pointer in C++ in hindi

void pointer का प्रयोग किसी different data type के variable के address को store करने के लिए किया जाता है।

चलिए इसे विस्तार से समझते हैं-

जैसा कि हम जानते हैं, एक pointer variable उसी प्रकार के variable के address को store कर सकता है, जिस type का pointer -variable declare किया गया हो यानी int type pointer-variable केवल int type variable के address को store करेगा,

 int x = 6;
 int *ptr;
 ptr = &x;  // right

क्योंकि x और ptr, दोनों int type variable हैं अर्थात दोनों का data type same है ।

दूसरे शब्दों में, हम int variable के address को float या अन्य data-type के variable में store नहीं कर सकते हैं, जैसे-

int x = 6;
float *ptr;
ptr = &x; // wrong

क्योंकि यहाँ पर *ptr float type variable है जबकि x, एक int type variable है। लेकिन void pointer का प्रयोग करके हम C ++ में different data -type के address को एक ही प्रकार के data -type (void ) में store कर सकते हैं।

declaration of void pointer

void pointer declaration का syntax नीचे दिया गया है-

SYNTAX

void *variable-name:

void pointer useful है, आप इस तरह से समझ सकते हैं, जैसे हमने 3 अलग-अलग प्रकार के variable declare किए हैं-

int x;
float y;
char z;

इसलिए, बिना void pointer के इन 3 variables के address को store करने के लिए, हमें अलग से उन्ही data type के 3 pointer type variable declare करने होंगे-

int *ptr1;  
float *ptr2; 
char *ptr3;

फिर, address इस प्रकार store होगा-

ptr1 = &x; // for int data type
ptr2 = &y; // for float data type
ptr3 = &z; // for char data type

void pointer का प्रयोग करके , हमें 3 different variables के लिए केवल single void type pointer -variable declare करना होता है –

int x;
float y;
char z;

  void *ptr

अब, हम int x, float y और char z (different types of variables ) के address को एक pointer-variable *ptr में store कर सकते हैं-

ptr = &x; // for int data type
cout<<ptr

ptr = &y; // for float data type
cout<<ptr;

ptr = &z; // for char data type
cout<<ptr;

क्योंकि वह void किसी data -type से संबंधित नहीं है, इसलिए यहां पर हम address को access करने के लिए implicit call करते हैं –

*(data-type *) pointer-variable;

इसका उदाहरण नीचे दिया गया है –

access variable address using void pointer

#include<iostream.h>
#include<conio.h>

void main()
{
   clrscr();

    int x=3;
   float y=1.2;
   char z='c';

   void *ptr; //void pointer declaration

// for int type variable
   ptr = &x;
   cout<<"x: "<<*(int *)ptr<<"  "<<ptr;

   cout<<endl;

 //for float type variable
   ptr = &y;
   cout<<"y: "<<*(float *)ptr<<"  "<<ptr;

   cout<<endl;

   //for char type variable
   ptr = &z;
   cout<<"z: "<<*(char *)ptr<<"  "<<ptr;
   cout<<endl;

   getch();
}

OUTPUT

x: 3 0x8f41fff4
y: 1.2  0x8f41fff0
z: c  0x8f41ffef

more about pointer

  • Arrays of Pointer in C++
  • Pointer with Structure in C++
  • Pointer to pointer in C++

previous- Pointer in C++

next- memory allocation in C++

Leave a Reply

Your email address will not be published. Required fields are marked *