Pointers

#include <stdio.h>

int main()
{
    // Declare a pointer to an integer
    int *p;

    // Declare an ordinary integer
    int x = 1;

    // p now points to x
    p = &x;

    printf("*p: %i\np: %i\n&x: %i\n", *p, p, &x);

    return 0;
}

A pointer is declared by a "*" preceding the variable name, in this case *p is a pointer to an integer. &x is the address of x, which is assigned to the pointer. To get the value that the pointer points to rather than its address, you need to dereference the pointer, and this is done by using "*" before the pointer name, as shown in the printf function.