The array access formula with a variable expression subscript isn't much different:
int a[5]; int i = ...; // address(a[i]) = address(a[0]) + (number of elements before a[i]) * sizeof(int) = address(a[0]) + i * 4
The array access formula with a variable expression subscript isn't much different:
int a[5]; int i = ...; // address(a[i]) = address(a[0]) + (number of elements before a[i]) * sizeof(int) = address(a[0]) + i * 4