我有一个现在是静态的数组。这是我用它做的操作。 首先我创建一个二维数组。然后我用循环填充它。然后,我发送它的功能,也有使用周期。 在这里,我想发布一些示例代码,这与我的类似。发送动态数组到函数C++
bool picture[20][20]; //here's my array right now. Pretty ugly. Just for testing.
for (int y=0;y<Height;y++)
{
for (int x=0;x<Width;x++)
{
if (treshold<middle)
{
picture[x][y]=1;
}
else
{
picture[x][y]=0;
}
}
}
//Here's an example of filling an array
leftk = left(picture,widthk, heightk); //That's how I use a function
int left(int picture[200][200],int row,int col)
{
for (int x = 0; x <=row-1; x++)
{
for (int y = 0; y <=col-1 ;y++)
{
if (picture1[x][y]==1)
{
return x;
}
}
}
}
//And that's the function itself
所以在这里,我需要将我的数组切换到动态。这就是我声明我的动态阵列
bool** picture=new bool*[size];
for(int i = 0; i < size; ++i)
picture[i] = new bool[size];
//size is just a variable.
至于静态声明的周期,一切都非常简单。发送这个数组作为参数来运行。
我已经设法创建了一个动态数组,这很简单。然后我用数字填写它。这里也没有问题。但我不明白,如何发送一个数组来运行,而且如何在那里使用它。 你能否给我一个修改函数中二维数组的例子。 对不起,这样一个新手问题。希望有人会帮助。
顺便说一下,我认为在这里类包装会有点混乱。
这取决于如何定义数组。我通常宁愿将它包装在课堂上,因为没有其他简单的解决方案。 – 2012-02-28 13:55:38
@JamesKanze:就个人而言,如果它需要在多个地方或在程序中经常使用,我会将它包装在类或结构中。否则,对于一个地方使用'矢量>'会很好,你不觉得吗? –
2012-02-28 14:08:07
恩,非常感谢,但我已经提到在课堂上包装它会很不方便。更重要的是,这个数组只用了一次,所以我希望我能逃脱课程。你展示的第一种方式似乎很简单,但需要一些解释。首先,我现在会发布我的静态C代码以更好地描述问题。然后我会发布我的数组的声明。希望,这也会有所帮助。但不幸的是,那么我需要你的帮助。发送数组并在函数中接收数据的操作仍然不够明亮。 – user1131662 2012-02-28 15:10:34