Это звучит как вопрос, основанный на фоне в Java?
Ответ, который дал dysfunctor , хорош.
Важно понимать, что в C назначение указателя ничем не отличается от назначения целого числа.
Рассмотрим следующую модификацию вашего исходного кода:
int temp1 = 1;
int temp2;
temp2=temp1;
temp1=temp1 + 1;
В конце этого значения temp1 равно 2, temp2 равно 1.
Это не то же самое, что присваивать (не примитивный) объект в Java, где присваивание фактически назначает ссылку на объект, а не на значение.