Rather often you will use a pointer to alter the value it is pointing to. But assigning a value to the pointer itself is wrong. So how do you that? You use an asterisk.
int i = 42;
int * p = i ; // assign the address of i to p
*p = 43; // assign a value to i through the pointer
It is also possible to assign the value of another pointer, like this:
*p1 = *p2;