该函数需要一个指向二维数组[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
当我试图在global二维数组中声明C++时,如下所示:
int maxX = 10;
int maxZ = 10;
SDL_Rect mapX[maxX][maxZ];
我有个错误说
error: variable-size type declared outside of any function
我将一个二维数组传递给标记函数。
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]){
我有一个二维数组,如下所示:
void getC(int **p)
{
*p = &c[0][0];
}
int c[10][10];
int *a;
getC(a);
a[0][0];
it says error: no match for 'operator[]' in `a[0][0];` what is the problem and how to fix it?
我想知道是否有可能在C中创建一个具有不同线大小的二维数组。 我知道二维数组是存储其他数组的数组。但是如果数组的大小不同呢?就像这样( "T“是数组的可用位置) 0 1 2 3 4
0 T T
1 T T T T T
2 T T T
3 T T T T 如果可能的话,该怎么做呢?就像普通的二维数组一样?
我想在visual studio 2017 c中初始化一个大小可变的二维数组。它是一个具有整数维数的简单正方形。然而,我得到了下面的错误,缺少下标,并且不能分配一个固定大小为0的数组。
int dim = 10;
short square [dim][dim];
使用malloc不能像以前那样使用二维,这意味着其余的代码不再工作,在visual studio 2017中仍然使用具有可变大小的二维数组的最佳解决方案是什么?
int *arr = (int *)malloc(row * col * sizeof(int));
每当我将两个一维数组作为参数传递给一个二维数组时,它就工作得很好,但是当我试图将三个一维数组传递给一个三维数组参数方法时,它就会产生错误,但是当我将三个一维数组传递给二维数组时,同样的效果也会很好。
这种行为的原因是什么?
二维一维数组到二维方法:-
int[] c=new int[] {4,50};
m1(new int[]{10,20},c);
public static void m1(int[]... a)]
三维一维数组到三维方法:-,error - The method m1(int[][]...) in the type Asd is not appl
以前,我一直在学校学习编码(向量,字符,二维数组,没什么特别的),并且一直在用C++和CodeBlocks编写代码。一个月前,我开始从C++ Primer学习。我现在是向量类型的,我把它搞糊涂了。当我过去使用向量时,我从未包含过任何其他库,并且我声明了向量,如下所示:
#include <iostream>
int main ()
{
int v[10];
return 0;
}
现在用更复杂的方式定义向量,使用vector库,在定义中提到元素类型等等。
我只是想知道为什么在我认为相当容易的科目上有这么大的差别。这些向量到底是怎么回事?
我需要输入4个字符串,因此需要输入的字符串数量是指定的,但每个字符串的长度是不同的。因为我必须执行特定于字符的操作,所以它必须是二维字符数组,如果我没有错的话。如何在c++中对此进行编码。
参考:问题在spoj中
输入:
4 // number of test cases
your
progress
is
noticeable
如何在C++中输入?请帮助澄清这背后的概念。
我有一个程序,它需要一个二维的字母数组,并对它们进行置乱。然而,我的代码中有一行没有任何明显的理由更改单独的数组?!
下面是代码:
private String[][] words = {{"a", "b", "c"}, {"d", "e", "f"}, {"g", "h", "i"}};
public Scramble()
{
String[] a = words[2];
// At this point, a = {"g