我們知道,數組的第一個元素下標是 0。數組的范圍也就是從 array[0] 到 array[size – 1]。 但實際上C/C++ 支持正負下標。 負下標必須在數組邊界內;否則結果不可預知。 以下代碼顯示了正數組和負數組下標:
#includeusing namespace std; int main() { int intArray[1024]; for (int i = 0, j = 0; i < 1024; i++) { intArray[i] = j++; } cout << intArray[512] << endl; // 512 int *midArray = &intArray[512]; // 指向了數組中間的數據 cout << midArray[-256] << endl; // 256 cout << intArray[-256] << endl; // 得到不可預知的結果 }