我有一個現在是靜態的數組。這是我用它做的操作。 首先我創建一個二維數組。然後我用循環填充它。然後,我發送它的功能,也有使用週期。 在這裏,我想發佈一些示例代碼,這與我的類似。發送動態數組到函數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