Dereferencing the pointer:
We go to the reference and we change the value at that address
For example:
char *pc; // So 'pc' is a pointer that points to an address that stores a char.
If we do:
*pc = 'D'; // This is dereferencing the pointer 'pc'. So we go to the address where 'pc' points to, and we change the value in that address.
So here '*' is called dereference operator. It "goes to the reference" and access the data at that memory location, allowing you to manipulate it at will.
So the '*' helps you to go to that address, and change the value in that address or get the value that's stored there, or other things.