GATE CSE Revision Notes

Notion-style micro notes for quick reference. Built-in math formulas, codes, and database matrices.

C Pointers and Address Arithmetic

C me, Arrays internally pointer variable address offsets map karte hain. Niche pointers and arrays assignment blocks and pointer indexing values explain karein:

Array name as Pointer
An array name acts as a constant pointer pointing to the first element (index 0) of the array. Hence: a[i] is exactly equivalent to *(a + i).
pointers_test.cC Language
#include <stdio.h>

int main() {
    int arr[] = {10, 20, 30, 40};
    int *ptr = arr; // ptr points to arr[0]

    printf("Value: %d\n", *ptr);       // Outputs 10
    printf("Value: %d\n", *(ptr + 1)); // Outputs 20 (address + sizeof(int))
    printf("Value: %d\n", ptr[2]);     // Outputs 30 (pointer indexing)
    
    return 0;
}
Pointer Operator Precedence
GATE me prefix/postfix updates par questions aksar confusing hote hain. Remember: *ptr++ increments pointer first, then fetches value.