I define my cell voltages intuitively as these variables:
uint16_t C1 = 3720;
uint16_t C2 = 3735;
uint16_t C3 = 3750;
uint16_t C4 = 3855;
uint16_t C5 = 3855;
...but then I cannot "just" do an array operation on them.
If I store them as array:
uint16_t array[cells]{3720, 3680, 3770, 3750, 3500, 3500};
then I cannot access them as the intuitive C1 (is cell) - because now cell one is cells[0]
Question:
can I have the best of both worlds? having an array, and be able to have a "variable name" for each of the items?
It's not intuitive or counter-intuitive, it's just habit, convention.
Think of the "first" index in an array as the "base" index, which is zero, not one. Once you get used to it, you will realise it makes just as much sense. Referring to the base index of an array as index zero or index one is arbitrary.