寫程式寫到一半突然有個疑問
為什麼 index 都是從 0開始算?
for (int i = 0; i < 5; i++) cout << arr[i] << endl;
詢問 Google 後,最常見的原因是說與 Array 的位置計算有關,Array 在記憶體中的位置是連續排列的,因此 Pointer 只需要記下 array 起始位置,就可以取得陣列中的任意一個元素。
如果 index 從 1 開始,array位置的計算公式需改成:
Address = start address + box size * (Index -1 )
會比原本的公式多出一個減法的運算 🤔🤔🤔