C Programs | IT Developer
IT Developer

C Programs



Share with a Friend

Pointers in C

Pointer Arithmetic

C Program: Pointer Arithmetic (Increment and Decrement)

C

#include <stdio.h>

 

int main() {

    int arr[5] = {10, 20, 30, 40, 50};

    int *ptr;

 

    ptr = arr; // Pointer points to the first element of array

 

    printf("Pointer Arithmetic Demonstration:\n");

 

    printf("Initial pointer address: %p, value: %d\n", ptr, *ptr);

 

    // Increment pointer

    ptr++;

    printf("After increment (ptr++): %p, value: %d\n", ptr, *ptr);

 

    // Increment again

    ptr++;

    printf("After another increment (ptr++): %p, value: %d\n", ptr, *ptr);

 

    // Decrement pointer

    ptr--;

    printf("After decrement (ptr--): %p, value: %d\n", ptr, *ptr);

 

    return 0;

}

Output

 
OUTPUT :
Pointer Arithmetic Demonstration:
Initial pointer address: 0x7ffee3aab730, value: 10
After increment (ptr++): 0x7ffee3aab734, value: 20
After another increment (ptr++): 0x7ffee3aab738, value: 30
After decrement (ptr--): 0x7ffee3aab734, value: 20

Explanation

  • A pointer to an integer increases or decreases based on the size of int (usually 4 bytes).
  • When we do ptr++, it moves to the next integer element in the array.
  • When we do ptr--, it moves back to the previous element.
  • The program displays how the address and value change with pointer arithmetic.