rapture 10.06.2011 00:43 unknown

чего не могу толком понять — вот почему в половине языков индексы массивов начинаются с 0, но функции длины возвращают нормальные значения. Т.е. по моей быдлологике — номер последнего элемента = длине массива(по порядку расчитайсь — Иванов 24, всего 24 человека. А не Иванов 23й, всего 24 человека).

1. arts 10.06.2011 00:46 Psi+

Исдекс массива — это по сути смещение от начала. У первого оно, сессно, ноль. Ну и так далее. А длина — она и в Африке длина.

2. artsarts /1 10.06.2011 00:47 Psi+

*индекс элемента, разумеется.

3. rapturearts /1 10.06.2011 00:48 unknown

> У первого оно, сессно, ноль.
А ну-ка, ну-ка? Почему естесственно? Мне естесственней сказать что Иванов 24ый, а не 23ий, разве не так?

4. artsrapture /3 10.06.2011 00:50 Psi+

Тебе — да. А железке естественней отсчитать 23 шага вот от этого столба.

5. rapturearts /4 10.06.2011 00:52 unknown

Ты мне объясни, почему машине удобнее отсчитать 23 шага начиная с 0, а не с 1 :D

6. artsrapture /5 10.06.2011 00:53 Psi+

Она не от 0 считает, а от столба:-) А 0, 1 и т.д. — это количество шагов.

7. artsarts /6 10.06.2011 00:54 Psi+

Столб в данном случае — адрес начала массива.

8. rapturearts /7 10.06.2011 00:56 unknown

интересно, как тогда функциональщину развивать, если архитектура такая :)

9. artsarts /7 10.06.2011 00:57 Psi+

Т.е., если упростить, то адрес нужного элемента — это адрес начала + индекс. Для первого элемента они совпадают.

10. rapturearts /9 10.06.2011 01:05 unknown

Иными словами, если бы массив начинался с 1, то 0 было бы в другой ячейке памяти. Это понятно, но какое-то интуитивное чувство, что тебя наебывают, остается.

11. artsrapture /10 10.06.2011 01:38 Psi+

Ну напиши язык, в котором индексы будут начинаться с единицы:-)

12. werehuman 10.06.2011 09:39

Сядь за Delphi или VBA, там массивы с 1 начинаются, и не еби нам мозг.

13. rapturewerehuman /12 10.06.2011 11:10 unknown

Да, VBA был создан специально для меня :)

14. rapturearts /11 10.06.2011 11:17 unknown

Там и там придется еденичку вычитать из cmp :)

15. utros 10.06.2011 15:26 eoranged

Всё нормально же.

Do you really want to delete ?