数组下标与内存布局

数组 = 一块连续内存;下标访问 = 一次地址算术  地址 = 基址 + 下标 × 元素大小
int a[5] = {7, 4, 9, 2, 6}; 5 个 int,连续摆放,每个占 4 字节 → 共 20 字节 连续内存 基址 base = 100 (数组名 a 使用时会转换成它) 访问 a[2] 时,系统这样算地址: 地址 = 100 + 2 × 4 = 108 → 取出 9 下标从 0 开始;正因为地址是“算”出来的,C++ 不检查越界