У меня есть две функции для того, чтобы заставить пользователя сделать ход, а компьютер - для генерации ходов, поэтому при создании функции для обновления компьютерных и пользовательских ходов, «x» и «o» для ходов и «_» для пробела. пробел, могу ли я использовать указатели для своего многомерного массива, и если да, то как бы вы это закодировали? Будем очень признательны за пример с объяснением!
Как именно вы собираетесь использовать указатели? Указатели на что? Я не думаю, что вам вообще нужны указатели, если вы не имеете в виду что-то конкретное, что не указано в вашем вопросе. Я бы использовал простой двумерный массив символов.
Определите свой массив следующим образом:
char a[3][3] = {
{"_", "_", "_"},
{"_", "_", "_"},
{"_", "_", "_"}};
Ваша доска может выглядеть так: Многомерный массив 4x4
Например, чтобы заполнить "x" в верхнем левом углу, напишите:
a[0][0] = 'x';
Надеюсь, это поможет!
Такой blödsinn!
Что такое blödsinn?
Почему? Я пытаюсь помочь этому парню.
Если вы хотите передать указатель на свои функции, вы можете объявить и использовать его следующим образом:
computer_move(char (*p)[3][3])
{
p[1][1] = 'x';
}
char ttt[3][3];
computer_move(&ttt);
Обновление двумерного массива символов с помощью функции, передача указатель в массив в качестве параметра:
int main(){
char array[5][5];
updateArray(array, 0, 0, 'a');
}
void updateArray(char * arr, int row, int col, char c){
arr[row][col] = c;
}
Обратите внимание, что при объявлении массива в C идентификатор массива (в данном случае array
) является указателем на первый элемент массива. Скобки ([row][col]
) обращаются к элементам массива, вычисляя его адрес с помощью арифметика указателя. Надеюсь, это будет полезно.
Был бы очень признателен за минимальный воспроизводимый пример!