# Fillin two dimensional array in for loop

I want to fill a two dimensional array within a for loop. However, that does not work. I have no clue why…

```int main () {

int a = 32;
int x = 100;
int y = 1;
int z = 2;
int i, j;

int ar[32][2] = {{1,x},{}};
// works until here!

// gives me that
1   100
0   0
0   0
0   0
...

// I need the array filled
1              100
...

for (i = 1; i <= a; i++) {
x = (x + y) * z;
ar[i][i] = {{i + 1, x},{}};
}

return 0;
}
```

test.c: In function ‘main’: test.c:27:14: error: expected expression before ‘{’ token ar[i][i] = {{i + 1, x},{}};

Why isn’t it filling the array?!

Whoever explained to you that using `[x][y]` meant just to create a new array is kind of not accurate. Or you didn’t understand right. You create an array and specify its size this way `ElementType ArrayName[RowSize][ColumnSize];` point.

Now we created our 2D matrix. To access every element in it, we use `[][]` this notation, along with the desired “coordinates” of the element we want, the x and the y:

`ArrayName[1][1] = 1;` this will assign the value `1` to the element in the second column on the second row. Notice that your system will crash if you provide “out of range” x or y, which were provided when you created the array as `RowSize` and `ColumnSize`.

```for(int x = 0; x < YourArray.size(); x++)