я пытаюсь вставить значение в динамический двумерный массив символов:
theBoard->_board[row][col] = val;
но при каждом назначении символа (строка, столбец) он также включает его (ряд-1, столб + 8).
в чем может быть проблема?
вот распределение массива:
if ((new = (BoardP) malloc(sizeof(struct Board))) == NULL)
{
reportError(MEM_OUT);
return NULL;
}
if ((new->_board = (char**) malloc(rows * sizeof(char*))) == NULL)
{
reportError(MEM_OUT);
return NULL;
}
int i,j;
for (i=0;i<rows;i++)
{
if ((new->_board[i] = (char*) malloc(cols * sizeof(char))) == NULL)
{
reportError(MEM_OUT);
return NULL;
}
когда я вставляю 'X' и печатаю с:
BoardP b = createNewDefaultBoard();
b->_board[2][0] = 'X';
printBoard(b,0,0);
Я получаю этот вывод:
0 1 2 3 4 5 6 7 8 9
0
1 X
2 X
3
4
5
6
7
8
9