多維陣列列我有一個15×15陣列,其我有指針(HW )遍歷。我正在寫一個謎題解決,我需要垂直搜索一些的話,我已經做了水平搜索,但我無法橫越column.I陣列列在嘗試分配PTR每次TMP的TMP達到結束後柱。使用指針來遍歷由
void VerticalSearch(char** puzzleArray, searchedWord* word) {
int len = word->wordLength;
char **tmp = puzzleArray;
char *ptr = &puzzleArray[0][0];
string s;
for (int i = 0; i < 15; i++) {
**tmp = *ptr;
s = "";
for (int k = 0; k < 15; k++)
{
s += **tmp;
(tmp)++;
}
cout << s << endl;
ptr++;
}
}
*「我需要用指針來遍歷」 *爲什麼呢? '對(INT I = 0; I = 15;!++ⅰ){對於(INT J = 0; J = 15;!++ j)的{FOO(puzzleArray [i] [j]); }}'和'對(INT J = 0; J = 15;!++ j)的{對(INT I = 0;!I = 15; ++ⅰ){FOO(puzzleArray [i] [j]); }}'將允許在兩個方向上遍歷矩陣。 – Jarod42
「我試圖在每次tmp達到列結尾時將ptr分配給tmp。」你永遠不會分配到'tmp'。 for循環的第一行是分配給由'tmp'指向的第一個指針所指向的字符。 –
另外,如果你可能*可以避免使用指針指針。看看'std :: array'或'std :: vector'。他們都更容易推理。 –