 Pointers can be "dereferenced" to access data stored at the address pointed to, or to invoke a pointed-to function.Pointers can be manipulated using assignment or pointer arithmetic.The run-time representation of a pointer value is typically a raw memory address (perhaps augmented by an offset-within-word field), but since a pointer's type includes the type of the thing pointed to, expressions including pointers can be type-checked at compile time.