Учитывая приведенный ниже код, я получаю следующую ошибку во время выполнения
FATAL RUN-TIME ERROR: строка 21, столбец 11, идентификатор потока 0x00002068:
Разыменение за пределамиуказатель: 1 байт (1 элемент) за концом массива.
Что я здесь не так делаю?Я создаю двумерный массив символов и инициализирую все элементы как 'x'.Затем я пытаюсь распечатать все элементы, используя логику указателя.Он печатает символы в стандартный ввод-вывод, но затем выдает ошибку времени выполнения.Я не вижу, где происходит выход за пределы.
#include <stdio.h>
#define EDGE 10
int main(void){
char fabric[EDGE][EDGE];
char *cell = fabric;
int totalCells = EDGE*EDGE;
for(int i = 0; i < totalCells; ++i){
*(cell + i) = 'x';
}
cell = fabric; //set cell to point back to first element
while(*cell){ //while there is content at address, print content
printf("%c", *cell);
++cell;
}
getchar();
return 0;
}