Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera,
Estava programando normalmente, quando me veio essa indagação na mente.
Por que tudo que é referencial em numeração inicia em zero? E não em 1?
Por exemplo, índice de Array:
Array(
[0] => "olá",
[1] => "mundo"
)
Existe explicação lógica?
Pergunta de curioso mesmo, sem cunho utilitário.
Resumidamente, o index é um offset. Ou seja, quantas posições além da posição de início.
Isso é assim para a maioria linguagens de programação baseadas em C/C++. Outras linguagens utilizam uma lógica mais "humana", digamos assim.
https://stackoverflow.com/a/7320709/1628790
Existe, também uma consideração quanto ao formato de operação do endereço de memória (base 2). Aonde a memória é qualquer endereõ 2^N, aonde N é a posição do ponteiro/array. Se fosse um, o endereço deveria ser 2^N+1.
https://stackoverflow.com/a/13519429/1628790