Da página 99 de K&R:
"preferimos o último porque diz mais explicitamente que a variável é um ponteiro."
Preciso de algum esclarecimento sobre por que "dizer mais explicitamente que a variável é um ponteiro" teria alguma importância? Eu esperaria que o motivo fosse para o programa ser mais rápido, em vez de mais explícito, como declarado na página 97:
"A versão do ponteiro será, em geral, mais rápida, mas, pelo menos para os não iniciados, um pouco mais difícil de entender"
Mas nesse caso, por que a versão do ponteiro seria mais rápida? Se arr[i]
for equivalente a isso, *(a+i)
por que o programa seria mais rápido? É porque C não precisa converter o array para a versão do ponteiro?