Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 在构造函数中创建数组与在main中创建数组的区别_Arrays_Constructor - Fatal编程技术网

Arrays 在构造函数中创建数组与在main中创建数组的区别

Arrays 在构造函数中创建数组与在main中创建数组的区别,arrays,constructor,Arrays,Constructor,如果我有一个名为game的类和一个private:char board[3][3],为什么我不能用下面的方法初始化数组 board[3][3]={'a','a','a','a','a','a','a','a'} 大体上,我可以使用上面的方法启动数组,但不能在我的类中启动 for (int i=0;i<3;i++) { for (int j=0; j<3; j++) { board[i][j]='a'; } } for(int i=0;i在ba

如果我有一个名为game的类和一个private:char board[3][3],为什么我不能用下面的方法初始化数组

board[3][3]={'a','a','a','a','a','a','a','a'}

大体上,我可以使用上面的方法启动数组,但不能在我的类中启动

for (int i=0;i<3;i++)
{
    for (int j=0; j<3; j++)
    {
        board[i][j]='a';
    }
}

for(int i=0;i在basic语言中
board[3][3]
表示您正在创建一个2D数组,即数组的数组,因为编译器没有2D数组这样的东西。编译器认为它在1D数组的每个索引上都有另一个数组。因此当您编写
board[3][3]={'a','a','a','a','a','a','a'}a'}
给出错误,因为
1.您正在初始化数组,但
char board[3][3]
只是一个引用,因此大小为3的内存不会被分配来分配它。您必须使用java中的new关键字
char board[][]=new char[3][3]{{'a','a','a','a','a','a'}{'a'}{'a','a'};

2.您正在声明2D数组,但未提及列值,因此,如果您将写入
board[]={'a','a','a','a','a','a','a'}
这也将是一个错误,因此要分离每一行和列值,请在
{'a','a','a','a'}
board[]={'a','a','a'},{'a','a'},{'a'},{'a','a','a'}}