所以我的数组是:
int **board = (int **)malloc(size * sizeof(int *)); //declaring board
for (int i = 0; i < size; i++)
board[i] = (int *)malloc(size * sizeof(int));
我的show score功能就是这个
void showScore(int **arr)
{
int score = 0;
for(int i = 0; i <size; i++)
{
for (int j = 0; j < size; j++)
{
score += arr[i][j];
}
}
printf("score %d\n\n" , score - 2);
}
我得到的问题是当我把它称为
时,该功能不起作用 showScore(&board);
任何建议如何修复我的功能/调用它?我只需要计算2 d动态数组的总和
答案 0 :(得分:1)
您正在将指针的地址传递给将指针作为参数的函数。 'board'变量包含数组中第一个元素的地址(例如,board ==&amp; board [0] [0])。您应该简单地将'board'传递给您的函数,因为它是类型指针(因为您的函数作为参数),而不是传递存储此指针值的数据部分的地址(正如您当前所做的那样)。 / p>