制作用于更新二维数组井字游戏表的移动的功能

时间:2018-10-30 03:06:10

标签: c function pointers multidimensional-array

我有两个功能让用户进行移动,而计算机生成移动,因此在创建用于更新计算机和用户移动的功能时,移动的'x'和'o'和'_'如果有空格,我会为多维数组使用指针吗?如果是的话,如何编码?一个带有解释的例子将不胜感激!

3 个答案:

答案 0 :(得分:0)

您打算如何使用指针?指针指向什么?我认为您根本不需要指针,除非您有未在问题中说明的特定思想。我将使用一个简单的二维字符数组。

这样定义数组:

char a[3][3] = {  
   {"_", "_", "_"},
   {"_", "_", "_"},
   {"_", "_", "_"}};

您的董事会可能像这样:4x4 multidimensional array

例如,要将“ x”填充到左上角,请输入:

a[0][0] = 'x';

希望有帮助!

答案 1 :(得分:0)

如果要传递指向函数的指针,则可以这样声明和使用它:

computer_move(char (*p)[3][3])
{
    p[1][1] = 'x';
}

char ttt[3][3];
computer_move(&ttt);

答案 2 :(得分:0)

使用函数更新二维char数组,将 pointer 作为参数传递给该数组:

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]通过使用指针算术计算其地址来访问数组的元素。希望这会有所帮助。