Хотя это можно сделать с помощью двумерного массива указателей, указывающих на символы, я бы не рекомендовал это делать.Вместо этого просто создайте двумерный массив символов:
char tablero[9][9]; // without the *
Затем измените инициализацию следующим образом:
tablero[0][0] = lanceros; // without the &
И выведите следующее:
printf("[%c]", tablero[r][c]);
Кроме того, ваш цикл for (int i = 0; i < 0; i++)
никогда не запускается.Измените его, чтобы вместо этого правильно инициализировать все поля.Я предполагаю, что вы хотите вложенный цикл, который устанавливает все поля на vacio
здесь.Кроме того, вы нигде не звоните initBoard
.Я предполагаю, что он был предназначен для вызова в main
перед вызовом printTablero
.
В конце концов, ошибка сегментации произошла, потому что вы пытаетесь разыменовать указатель, который не был инициализирован, когдаВы распечатали массив (так как initBoard
не вызывается, ничего не инициализировано), что привело к неопределенному поведению.