array of Pointer C++ में array और pointer का उदाहरण है –
- Array in C++
- Pointer in C++
what is an Array of pointer?
सरल शब्दों में, एक array को pointer type variable के रूप में declare करना या collection of pointer को , Array of Pointer कहते हैं।
array of pointer array के हरेक elements के address का collection होता है इसे आप नीचे दिए diagram से समझ सकते हैं –
आइए इसे विस्तार से समझते हैं –
एक साधारण variable में ,
int *ptr;
int x;
*ptr = x;
जबकि Array of Pointer में,
int *ptr[4]
int arr[4] = {3,2,4,1};
*ptr = arr
अब ptr सभी array elements को points करता है,
जब हम किसी array को pointer प्रकार के variable के रूप में declare करते हैं तो pointer variable उस array के प्रत्येक elements को points करता है, जिसका अर्थ है कि हम इन elements के address को manipulate कर सकते हैं।
जबकि, इन address पर stored values को access करने के लिए हम *ptr [0] *ptr [1], *ptr [2], *ptr [3] काप्रयोग करते हैं –
जबकि elements address को access करने के लिए ptr[0], ptr[1], ptr[2], ptr[3] –
array of pointer, collection of addresses है, जिनमे array elements stored होते हैं।
इस प्रकार, array का प्रत्येक element , pointer type element बन जाते हैं। अब हम कह सकते हैं, array of pointer , collection of pointer होता है।
array of pointer पर जाने से पहले array का साधारण program देखते हैं-
#include<iostream.h>
#include<conio.h>
void main()
{
int i,arr[4] = {3,2,4,1,};
clrscr();
cout<<"\n Elements are:\n";
for(i= 0; i<4; i++)
{
cout<<"arr["<<i<<"]= "arr[i]<<" "; //displaying elements
}
getch();
}
OUTPUT
Elements are:
arr[0]= 3
arr[1]= 2
arr[2]= 4
arr[3]= 1
declaration of Array of Pointer in C++
इसका syntax नीचे दिया गया है –
data type *array_name[size];
यहाँ पर data -type किसी भी type का हो सकता है।
int *ptr[4];
int arr[4] = {3,2,4,1};
यहां ptr[] एक array type pointer है , जो array arr[] के प्रत्येक element के address pointer variable ptr[] में store करता है।
आप इसे नीचे दिए गए program की मदद से समझ सकते हैं-
#include<iostream.h>
#include<conio.h>
void main()
{
int *ptr[4];
int i,arr[4] = {3,2,4,1};
clrscr();
for(i= 0; i<4; i++)
{
ptr[i] = &arr[i]; //assigning each elements address in ptr[i]
cout<<"address of value "<<arr[i]<<" is "<<ptr[i]<<endl;
}
cout<<"\n Elements are:\n";
for(i= 0; i<4; i++)
{
cout<<*ptr[i]<<" "; //displaying elements
}
getch();
}
OUTPUT
address of value 3 is 0x8f2bff8e
address of value 2 is 0x8f2bff90
address of value 4 is 0x8f2bff92
address of value 1 is 0x8f2bff94
Elements are:
3 2 4 1
array elements के address print करने के लिए-
ptr[0] = &arr[0]; address of 3 in ptr[0]
ptr[1] = &arr[1]; address of 2 in ptr[1]
ptr[2] = &arr[2]; address of 4 in ptr[2]
ptr[3] = &arr[3]; address of 1 in ptr[3]
अब इस pointer -variable से elements को access करने के लिए,
*ptr[0] = 3
*ptr[1] = 2
*ptr[2] = 4
*ptr[3] = 1
more about pointer