Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

1061

Россия, пос. Теплоозёрск, ЕАО


ID: 226425

Konstantin Shvetski

Модератор

314

Россия, Северодвинск


ID: 401284

Михаил Александров

Советник

278

Россия, Санкт-Петербург


ID: 137394

Megaloman

Мастер-Эксперт

158

Беларусь, Гомель


ID: 400669

epimkin

Профессионал

105


ID: 404002

sglisitsyn

6-й класс

42


ID: 242862

Hunter7007

Мастер-Эксперт

30

Россия, Омск


8.10.3

30.10.2021

JS: 2.10.3
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-12-04 11:45:59-standard


Создание программ на языках C и C++.

Администратор раздела: CradleA (Мастер-Эксперт)

Консультация онлайн # 160478

Раздел:  С / С++
Автор вопроса: Nemesis-201
Дата: 14.02.2009, 21:45 Консультация закрыта
Поступило ответов: 1

Здравствуйте уважаемые эксперты. Только начал изучение языка Си и у меня появился небольшой вопрос можно ли как нибудь обявить чтобы массив начинался не с нуля, а с любого другого числа?

Ответ # 243680 от Evgenijm
Здравствуйте, Nemesis-201!

Можно просто сместить указатель на нужную позицию. Например, если у Вас есть массив из 50 элементов, а вы хотите использовать индексы {-25..24},то новый нулевой элемент массива должен указывать на старый элемент 25:

int* NewArr = &Arr[25];// =Arr + 25;

Не забывайте, что при удалении массива нужно указывать начальный адрес. Т.е, либо сохранять саму переменную Arr, либо сдвигать обратно переменную NewArr.
Такая техника чревата ошибками в дальнейшем, поэтому лучше работу с этим массивом упаковать в класс.

Evgenijm

Посетитель
15.02.2009, 15:01
Мини-форум консультации # 160478
Micren

1

= общий =    14.02.2009, 21:55

Если Вы имеете ввиду стандартный массив типа int arr[100]; то нет. Кстати, это может доставлять проблемы только по неопытности. В подавляющем большинстве случаев это вполне удобно. Если же Вам непременно нужно нумеровать не с нуля то ничто не мешает создать свой класс-массив в котором эти проблемы будут решены. Но прежде чем делать это подумайте о том надо ли это или нет на самом деле.

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 244

Коцюрбенко Алексей Владимирович

Старший модератор

Рейтинг: 197

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 43

Gluck

9-й класс

Рейтинг: 42

CradleA

Мастер-Эксперт

Рейтинг: 22

Вадим Исаев ака sir Henry

Мастер-Эксперт

Рейтинг: 2