(我知道有無數的AA的問題和答案對SO有關數組和指針,而是通過許多人涉水後,我仍然沒有得到它。)正確的語法從數組指針訪問值?
問題:什麼是正確的語法訪問值從數組指針?
背景:我所做的很簡單:我定義了一些數組,然後定義一個指向這些數組的數組(下面的代碼)。我正在這樣做,以便我可以在for..loop中引用我的'circle'數組。 (我意識到我可以通過定義一個多維數組來完全跳過指針,但是爲了便於編碼和在此階段快速更改,只需定義一次'circle'數組將會很有幫助)。
我在嘗試訪問陣列數據時遇到問題。這符合但數據是垃圾:
for (int i = 0; i < circleArrayLength; i++) {
for (int c = 0; c < 6; c++) {
byte *index = circleArray[i][c]; // WRONG
writeBufferSingle(basePattern[*index][0], basePattern[*index][1], 1);
}
writeScreen();
delay(50);
}
那麼,什麼是從一個數組指針的正確語法訪問值?
byte circle0[7] = { 0, 1, 40, 44, 43, 42, 41 };
byte circle1[7] = { 1, 2, 39, 45, 44, 41, 40 };
byte circle2[7] = { 2, 3, 38, 46, 45, 40, 39 };
byte circle3[7] = { 3, 4, 37, 47, 46, 39, 38 };
byte circle4[7] = { 4, 5, 36, 48, 47, 38, 37 };
byte* circleArray[][7] = { circle0, circle1, circle2, circle3, circle4}
謝謝!第一種方法效果很好(現在看起來更簡單一些) –