AnyCompiler

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;
}
Output
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.