我遇到了数组和指针的问题,虽然我很瘦,但我知道我做错了什么,但我无法找到一个简单的解决方案。
我有这段代码:
void faceRotateACW(char *face[CUBE_DIM][CUBE_DIM]){
char tempFace[CUBE_DIM][CUBE_DIM];
for (int y=0;y<CUBE_DIM;y++){
for (int x=0;x<CUBE_DIM;x++){
tempFace[y][CUBE_DIM-x]=face[x][y];
}
}
for (int a=0;a<CUBE_DIM;a++){
for (int b=0;b<CUBE_DIM;b++){
face[a][b]=tempFace[a][b];
}
}
}
现在我知道问题在于我正在尝试将 char 指针分配给 char 并且这是不行的,但是我如何复制,然后修改数组并将其推回通过引用传递的数组?如何获取要传递给函数的数组中的值?
好的,一切顺利,至少我现在开始更好地理解这个问题(谢谢大家)。我需要提供更多信息,因为我使用此功能的方式可能也不是最好的方式,让我澄清一下。
我将数组定义为:
char *faces[NUM_FACES][CUBE_DIM][CUBE_DIM]={{{"o","o","o"},{"o","o","o"},{"o","o","o"}},
{{"o","o","o"},{"o","o","o"},{"o","o","o"}},
{{"o","o","o"},{"o","o","o"},{"o","o","o"}},
{{"o","o","o"},{"o","o","o"},{"o","o","o"}},
{{"o","o","o"},{"o","o","o"},{"o","o","o"}},
{{"o","o","o"},{"o","o","o"},{"o","o","o"}}};
但是,当我调用该函数时,我试图像这样剥离外部数组:
faceRotateACW(faces[currentFace]);
对不起,我的第一篇文章:)