Earlier quoted context omitted.
> * If we are being idiomatic I would suggest pointer arithmetic to iterate instead of using a counter i. How exactly is one more idiomatic than the other?
It's subjective. It feels more c like and natural to me to write while (foo->bar) and not while (foo[i].bar). The latter feels like the way you would do it somewhere else, grafted onto C. But it's not wrong, I don't have deep qualms with it, and that's why I put it last on my list.
Prefer array notation to the use of pointers. C programs in particular impose very few restrictions on the use of pointers; aliased pointers may lead to unexpected dependencies. Without help, the compiler often cannot tell whether it is safe to vectorize code containing pointers.
Source: https://software.intel.com/sites/default/files/8c/a9/Compile... (Section 5.1)