Pointers
Ek pointer ek variable hai jo ek memory address hold karta hai. &x aapko x ka address deta hai; int *p, p ko ek int ke pointer ke roop mein declare karta hai; *p, p ko dereference karta hai, uski value ko read (ya write) karte hue jis par wo point kar raha hai.
#include <stdio.h>
int main() {
int x = 42;
int *p = &x;
printf("%d\n", *p);
*p = 100;
printf("%d\n", x);
return 0;
}42 100
*p = 100 ne p ko khud nahi badla — isne x ko badla, wo variable jis par p point kar raha hai. Yahi wo mechanism hai jise is site ki baaki har language references, borrowing, ya object handles ke peeche chhupati hai: C ise directly deta hai, bina kisi restriction ke ki aap ise kab ya kaise use karte ho.
Aage: pointers aur arrays — kaise array indexing aur pointer arithmetic secretly ek hi operation hain.
Practice exercise
Ek variable x, 10 par set karo. x ka ek pointer p declare karo, use pointer ke through x ko 99 set karne ke liye use karo, phir x print karo.