The * is the Indirection Operator. If you see this operator in front of a pointer variable, it means: Get the CONTENTS in memory where this pointer is pointing! In the case of this code: *int_ptr = 20; the value 20 is being assigned to the contents in memory where int_ptr is pointing. That is, to the memory location that was allocated for the variable NUM1, assign a 20. We could have accomplished the same thing (assigning the value of 20 there) if we had done the following: NUM1 = 20;