After executing "0th sentence" memory address of n1, n2 and *pn were ADDR:0061FF2C, 0061FF28, 0061FF24. Do they change after executing 1), 2) and 3)? I put printf for every code but they do not seem to change. theoretically, shouldn't they change because variables were assigned new values?
#include <stdio.h>
int main(void)
{
int n1=3, * pn = &n1;
int n2=0;
printf("%p, %p, %p\n", &n1, &n2, &pn); // 0)
n2 = *pn; // 1)
*pn = n2 + 1; // 2)
n1 = *pn + *(&n2); // 3)
printf("%d, %d, %d\n",n1,n2,*pn); // 4)
return 0;
}