该函数需要一个指向二维数组[4][5]的指针.实际上,我们可以提交一个指向一维数组[20]的指针.Ie源代码如下所示:
extern f (int a[4][5]);
int b[20];
void func (void)
{
f (b);
}
这是完美的工作代码(如果内部的数组b,我们将像他们在一个二维数组的布局)。不过,汇编将发出警告(由于类型不足):
$ gcc t.c -c
t.c: In function 'func':
t.c:7: warning: passing argument 1 of 'f' from incompatible poin
我将一个二维数组传递给标记函数。
void mark(int n, int m, int i, int j, int canvisit[][m], int a[][m]){}
这段代码在C语言中可以很好地工作在代码块上,但是在C++中,我得到的错误如下:
prog.cpp:9:55: error: use of parameter outside function body before ']' token
void mark(int n, int m, int i, int j, int canvisit[][m], int a[][m]){
我正在写一段代码来处理二维char数组。
char *board[] = {"aa"};
我将数组传递给一个函数
search(board, row, col);
..........
bool search(char** boards, int row, int col)
{
// Inside the function, I want to modify the boards[x][y]
// from the board within x and y, x < row, y < col
// I get the s
当我试图在global二维数组中声明C++时,如下所示:
int maxX = 10;
int maxZ = 10;
SDL_Rect mapX[maxX][maxZ];
我有个错误说
error: variable-size type declared outside of any function
我想在visual studio 2017 c中初始化一个大小可变的二维数组。它是一个具有整数维数的简单正方形。然而,我得到了下面的错误,缺少下标,并且不能分配一个固定大小为0的数组。
int dim = 10;
short square [dim][dim];
使用malloc不能像以前那样使用二维,这意味着其余的代码不再工作,在visual studio 2017中仍然使用具有可变大小的二维数组的最佳解决方案是什么?
int *arr = (int *)malloc(row * col * sizeof(int));
我正在学习C语言,但在将二维数组的指针传递给另一个打印二维数组的函数时遇到了问题。任何帮助都将不胜感激。
int main( void ){
char array[50][50];
int SIZE;
...call function to fill array... this part works.
printarray( array, SIZE );
}
void printarray( char **array, int SIZE ){
int i;
int j;
for( j = 0; j < SIZE; j++ )
请注意,我使用的是C,而不是C++。我正在编写一个程序,它将接受一个二维数组,并计算子数组中非空格的数量。比如lines[0][i] <--在line[0][0] - line[0][n]上迭代。然而,我很难让函数接受2d数组。
下面是我的代码:
pScore[0]=letters(pLines, 0);
这是实际的函数。pScore[]是另一个数组,但是是一个一维的数组。pLines是一个4x200二维阵列。
int letters(char line[][], int row)
{
int i = 0;
int n = n;
int results
如何在C++中返回二维数组?
例如,我在java中有以下方法:
public static int[][] getFreeCellList(int[][] grid) {
// Determine the number of free cells
int numberOfFreeCells = 0;
for (int i=0; i<9; i++)
for (int j=0; j<9; j++)
if (grid[i][j] == 0)
numberOfFreeCells++;
// Store fr
我正在学习C,我想我会坠入爱河,但我的新发现的爱情让我在这个简单的代码中抓狂。我只是想打印一个二维网格,由整数填充。不管我做了什么改变,它总是给出相同的int相关错误。有什么帮助吗?
#include <stdio.h>
#include <stdlib.h>
/* malloc_grid - create a 2D array of integers */
int **malloc_grid(int width, int height)
{
int i, j;
int **arr;
if (width < 1 || height &