1) Pointers store the address of a variable in memory. Pointer variables allow access and manipulation of other variables' memory addresses.
2) Pointer arithmetic can increment, decrement, add, and subtract from pointers to navigate through arrays and other data structures. Incrementing and decrementing a pointer moves it by the size of the data type, such as 4 bytes for a 64-bit integer.
3) Pointer arithmetic performs numeric operations on the memory addresses stored in pointers. Addition and subtraction adjust the pointer's address by the product of the data type size and the added/subtracted value.