Next: Null Pointers, Previous: Pointer Type Designators, Up: Pointers [Contents][Index]
The main use of a pointer value is to dereference it (access the
data it points at) with the unary ‘*’ operator. For instance,
*&i
is the value at i
’s address—which is just
i
. The two expressions are equivalent, provided &i
is
valid.
A pointer-dereference expression whose type is data (not a function) is an lvalue.
Pointers become really useful when we store them somewhere and use them later. Here’s a simple example to illustrate the practice:
{
int i;
int *ptr;
ptr = &i;
i = 5;
…
return *ptr; /* Returns 5, fetched from i
. */
}
This shows how to declare the variable ptr
as type
int *
(pointer to int
), store a pointer value into it
(pointing at i
), and use it later to get the value of the
object it points at (the value in i
).
If anyone can provide a useful example which is this basic, I would be grateful.