To reference and dereference a pointer basically mean "use the pointer".
You use a Reference operator when you want to assign a value to a pointer:
int i;
int* pi;
i = 666;
pi = &i;
Here, you declare an integer and a pointer to an integer, you assign a value to the integer, and then you use the reference operator "&" to get the address of the integer and assign it to the pointer.
You use a Dereference operator when you use the pointer to get the value it is pointing at:
int i, j;
int* pi;
i = 666;
pi = &i;
j = *pi;
Here we add another integer to the variables, then you use teh dereference opertaor "*" to fetch the value from where pi is pointing and assign it to j. At the end, i and j both contain the same value: 666
[edit]Typo "you you uthe" changed to "you use the" - OriginalGriff[/edit]