pointer arithmetic in c

#include <stdio.h>

int main() {
    int arr[] = {10, 20, 30, 40, 50};
    int *ptr = arr;

    printf("Value at ptr: %d\n", *ptr);
    printf("Value at ptr + 2: %d\n", *(ptr + 2));
    printf("Address of ptr: %p\n", ptr);
    printf("Address of ptr + 3: %p\n", ptr + 3);

    return 0;
}