Pointer एक ऐसा वेरिएबल होता है जो किसी दूसरे वेरिएबल के memory address को स्टोर करता है।
उदाहरण: जैसे आपके घर का एक address होता है, उसी तरह हर वेरिएबल का address होता है। Pointer उस address को स्टोर करता है।
int *ptr;
यह एक pointer है जो int टाइप के variable को point करेगा।
#include <iostream>
using namespace std;
int main() {
int num = 10;
int *ptr;
ptr = #
cout << "num की value: " << num << endl;
cout << "ptr में क्या है (address): " << ptr << endl;
cout << "ptr से जो value आ रही है (*ptr): " << *ptr << endl;
return 0;
}
num
= 10&num
= num का addressptr = &num
→ ptr में num का address गया*ptr
→ उस address की valueसिंबल | मतलब |
---|---|
& |
Address operator – किसी variable का address देता है |
* |
Dereference operator – pointer से value को access करता है |
#include <iostream>
using namespace std;
int main() {
int a = 5;
int *p = &a;
cout << "a = " << a << endl;
cout << "Address of a (&a) = " << &a << endl;
cout << "Pointer p = " << p << endl;
cout << "Value at *p = " << *p << endl;
return 0;
}
int a = 5; int *p = &a; Memory: +---------+ +---------+ | a | | p | | 5 | | &a | +---------+ +---------+ *p = value at address stored in p = 5
गलत कोड | सही तरीका |
---|---|
*ptr = # |
ptr = # |
int ptr; |
int *ptr; |
cout << ptr; |
cout << *ptr; (value), cout << ptr; (address) |
int arr[3] = {10, 20, 30};
int *ptr = arr;
cout << *ptr; // 10
cout << *(ptr + 1); // 20
Note: Array का नाम खुद एक pointer होता है जो पहले element को point करता है।
*
, &
और memory address में फर्क समझें।Pointer शुरुआत में कठिन लग सकते हैं, लेकिन जब आप उन्हें उदाहरणों और diagrams से समझते हैं, तो ये आसान हो जाते हैं।