Я создаю 2D-массив, используя malloc, и когда я перебираю массив, в нем появляются символы и символы, которые мне не нужны. Разве массив не должен быть полностью пустым?
Я пытался присвоить нулевой символ началу каждой строки, но это ничего не меняет.
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");
}
Я ожидал, что выходные данные будут просто пробелами, но вот что появилось:
Z Ñ P Ñ l L O
Z Ñ P Ñ N U M B