which means "the object pointed to by expr",
the expr must have type "pointer to type," where type is any
data type. The result of the indirection is of type type.
If the operand is of type "pointer to function", the result is a function
designator. If the operand is a pointer to an object, the result is an lvalue
designating that object.
In the following situations, the result of indirection is undefined:
The expr is a null pointer.
The expr is the address of an
automatic (local) variable and execution of its
block has terminated.
You can also use the asterisk as an operator to dereference a pointer, or as
the multiplication operator. Asterisk may be used also as a
punctuator for creating pointer types.