小编Saa*_*ena的帖子

将 2D char 数组传递给 C 中的函数

我是一名初级程序员,对将二维数组传递给函数感到困惑。我认为这可能只是一个简单的语法问题。我一直在寻找答案,但我发现的任何答案似乎都没有帮助,或者远远超出了我的水平,让我无法理解。

我将主函数中的数组和函数标识为,并在初始化它之后,尝试调用它:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

int const ROWS = 8;
int const COLS = 8;

int main(int argc, char** argv) {

char board[ROWS][COLS];

bool canReach(char board[][], int i, int j);

//initialize array

//values of i and j given in a for loop

canReach(board, i, j);

return (EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud)

当在主函数之外编写该函数时,我对其的定义与在主函数中的定义完全相同。

bool canReach(char board[][], int i, int j){
//Functions purpose
}
Run Code Online (Sandbox Code Playgroud)

当我尝试构建该程序时,出现两次此错误,并且该程序无法构建:

error: array has incomplete element type 'char[][]'
bool canReach(char board[][], int i, int j)
                        ^
Run Code Online (Sandbox Code Playgroud)

请注意,我试图将整个数组传递给函数,而不仅仅是单个值。我可以做什么来解决这个问题?如果它不必使用指针,我将不胜感激,因为我发现它们非常令人困惑。另外,我试图省略一些我认为不重要的东西,但我可能错过了一些我需要的东西,或者保留了我不需要的东西。感谢您花时间帮助这位新手程序员!

c arrays multidimensional-array

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

arrays ×1

c ×1

multidimensional-array ×1