|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: От чего нумеровать данные? | |||
Использовать 0 | 17 | 68.00% | |
использовать 1 | 5 | 20.00% | |
Без разницы | 3 | 12.00% | |
Голосовавшие: 25. Вы ещё не голосовали в этом опросе |
|
|
Опции темы | Поиск в этой теме |
29.04.2015, 12:44 | #21 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
29.04.2015, 12:46 | #22 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
С нулём, на один элемент больше не получается. Если следовать по его логике, то начиная счёт с тройки, получится на три элемента больше .
Собственно, с какой цифры ни начинай счёт, конечное число элементов массива не изменится.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
29.04.2015, 12:58 | #23 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Цитата:
Это по расходу памяти разницы нет и технически разницы нет, а появляется скорее эдакое ограничение языка. |
|
29.04.2015, 19:04 | #24 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Технически есть разница. Если рассмотреть статический целочисленный (32 бита) массив, где i - индекс, а p - указатель на начало массива, то для вычисления адреса i-го элемента надо проделать следующее:
1. Для нумерации с нуля: pi = p + i * 4 или поразрядный сдвиг влево на 2 разряда. 2. Для нумерации с единицы: pi = p + (i - 1) * 4, то есть добавляется операция вычитания. Для обхода такого недостатка вводят неявный нулевой элемент, который как бы есть, но не используется. Или он задействуется под технические нужны, типа как в паскалевский строках, где символы нумеруются от 1, но существует нулевой элемент строки, в котором сохраняют длину строки. E-Mail: arigato.freelance@gmail.com
|
29.04.2015, 19:13 | #25 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
29.04.2015, 19:33 | #26 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
По аналогии с этим в MathCAD есть возможность самостоятельно выбрать, с чего нумеровать элементы массива. Для этого зарезервированной переменной ORIGIN присваивается соответствующее значение.
|
29.04.2015, 19:35 | #27 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
29.04.2015, 20:01 | #28 | |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,657
|
Цитата:
Благими намерениями устлана дорога на programmersforum.ru
Последний раз редактировалось MihalNik; 29.04.2015 в 20:09. |
|
29.04.2015, 21:56 | #29 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Из-за одного элемента получите в итоге столько головняка, что лучше его потерять, чем всем этим заниматься при разработке компилятора/транслятора.
Последний раз редактировалось pu4koff; 30.04.2015 в 05:29. |
29.04.2015, 22:05 | #30 | ||
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Цитата:
Цитата:
Только и правда можно получить неожиданные ошибки, если, скажем, будем передавать массив по ссылке или еще чего с указателями замутим. E-Mail: arigato.freelance@gmail.com
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вести/вывести запись или массив | pascal1992 | Общие вопросы Delphi | 2 | 07.04.2013 18:54 |
вести 5 целых чисел | viknik | Помощь студентам | 1 | 14.12.2011 20:37 |
Вести в edit1 из *.txt | foxes | Общие вопросы Delphi | 6 | 15.10.2010 19:31 |
Вести учет форматирования... | Busine2009 | Microsoft Office Word | 1 | 28.06.2009 18:05 |