gpt4 book ai didi

c++ - 在 C++ 中将二维数组更改为 1 的函数

转载 作者:行者123 更新时间:2023-11-28 00:29:24 25 4
gpt4 key购买 nike

我试图在 C++ 中将二维数组转换为一维数组,使用指针将新的一维数组返回给 main() 我尝试了几种不同的方法东西,但我不断收到语法错误。新数组应该只是数字 1-9这是我的总结。

char changearray(char* matrix[3][3])
{
char* newarray[9];
newarray[0] = matrix[0][0];
newarray[1] = matrix[0][1];
newarray[2] = matrix[0][2];
newarray[3] = matrix[1][0];
newarray[4] = matrix[1][1];
newarray[5] = matrix[1][2];
newarray[6] = matrix[2][0];
newarray[7] = matrix[2][1];
newarray[8] = matrix[2][2];
return *newarray;

}
int main()
{
char Board[3][3] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}};

char *boardptr = Board;
changearray(Board);
}

最佳答案

您的数组是静态分配的,因此在内存中已经是一维数组。不需要功能。这将起作用:

int main()
{
char Board[3][3] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}};

char *boardptr = &Board[0][0];
}

boardptr 现在是一个一维数组,其布局与您的函数生成的布局相同。

关于c++ - 在 C++ 中将二维数组更改为 1 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23485171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com