Pointers
Ek pointer ek variable hai jo ek memory address hold karta hai. &x aap ko x ka address deta hai; int *p, p ko ek int ke pointer ke taur par 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 baqi har language references, borrowing, ya object handles ke peeche chhupati hai: C ise directly deta hai, bina kisi restriction ke ke aap ise kab ya kaise istemal karte hain.
Aage: pointers aur arrays — kaise array indexing aur pointer arithmetic secretly ek hi operation hain.
Practice exercise
Ek variable x, 10 par set karein. x ka ek pointer p declare karein, use pointer ke through x ko 99 set karne ke liye istemal karein, phir x print karein.