I am creating a 2D array using malloc and when I iterate through the array there are characters and symbols that I do not want in there. Shouldn't the array be completely empty?

I have tried to assign the null character to the beginning of each row but that doesn't change anything.

```
    char **structure;
    structure = malloc(sizeof *structure * 2);
    if (structure) {
        for (size_t i = 0; i < 2; i++) {
            structure[i] = malloc(sizeof *structure[i] * 20);
            structure[i][0] = '\0';
        }
    }
    for (int i = 0; i <= 2; i++) {
        for (int j = 0; j < 20; j++) {
            printf("%c ", structure[i][j]);
        }
        printf("\n");
    }

```

I expected the output to just be blank spaces but this is what appeared:

```
Z Ñ             P  Ñ             l   L O
Z Ñ               P  Ñ             N U M B

```