> Which of the following expressions are wrong?

Which of the following expressions are wrong?

Posted at: 2014-12-18 
int i, j;

int *p, *q;

&i = &j;

&i = p;

p = &i;

&p = q;

q = &p;

p = ++q;

Explain why

Anything with &x on the lefthandside is invalid

You might get a cast error with q = &p as q is type int* and &p is type int**

int i, j;

int *p, *q;

&i = &j;

&i = p;

p = &i;

&p = q;

q = &p;

p = ++q;

Explain why