हर एक Variable का एक Memory Address होता है और Memory Address देखने के
लिए Programmer को variable से पहले '&'(address operator) लगाना पड़ता
है |
int a; printf("Address of a: %d",&a);
Output:
Address of a : 6356748 // 6356748 is address of variable a
इसी memory address की मदद से Variable की value को access किया जाता है , इसी को 'Pointers' कहते है | Pointer किसी दूसरे variable का address hold करके रखता है | हर एक variable का एक address होता है | जब variable declare होता है तभी उसका एक memory location पर वो store होता है |
data_type *pointer_name;
किसी integer data type variable का address hold करना है तो pointer भी
उसी data type का होगा जिस data type का variable हो, मतलब variable int है
तो pointer भी int ही होगा, अगर variable char हो तो pointer variable भी
char ही होगा |
Pointer किसी की value hold करके नहीं रखता, बल्कि सिर्फ उसका address hold
करके रखता है और उस address से ही pointer के साथ variable के value को
print किया जाता है |
Referencing Operator
Referencing मतलब किसी दूसरे variable का address hold करके रखना होता है |
int a = 10; int *ptr; ptr = &a; //address of a stored in ptr
Dereferencing Operator
Dereferencing में asterisk ( * ) का इस्तेमाल करते पर pointer में store किये हुए value को access किया जाता है |
int a = 10; int *ptr; ptr = &a; int b = *ptr; // ptr means dereferencing printf("Value of a : %d", b);
Output :
Value of a : 10