lvalue required as left operand of assignment

I keep getting this error when I try to compile a program and cant see how to solve it. From looking at similar problems posted here it is normally to do with using the assignment = , rather than testing if equal to == . However, in this case I am trying to assign a value to a variable (to be specific the memory address of a matrix entry).

I am getting the error for lines 4,7 and 10 in this segmant of code.

Code:

`int type1(int left, int L){`

int k, M, X, matrix[L][L];

for(k=1; (k>(left-M)); k++){

&(matrix[left][k])=0;

}

for(k; k<(left-X); k++){

&matrix[left][k]=1/(X-M+1);

}

for(k; k<L; k++){

&matrix[left][k]=0;

}

}

I am stumped, can someone please explain what is wrong.