int x = 5;
int y;
int* px;
int* py = &y; // py points to y
px = &x ; // px points to x
// ========
*py = ( x + *px ) / 4;
// can be translated to
*py = (5 + 5) / 4;
*py = 10 / 4
*py = 2;
px = py; // px now contains the memory location of y (since py points to y)
x = y * *px; // times
// can be translated to
x = 2 * 2;
x = 4;
// ===== Output ==
x==4 y==2 *py * *py // times
x==4 y==2 2 * 2
// ---------
4 2 4