![]() |
|
Модераторы: bsa |
![]()
|
|
| antonkonikov |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 22.3.2009 Где: Украна, Донецк Репутация: нет Всего: нет |
Корректно ли нижеследующее присваивание в Cи? Если нет объясните почему. Иначе напишите фрагмент программы, где это присваивание корректно используется.
a[-3] = -5; Модератор: Название темы должно отражать ее суть! Это сообщение отредактировал(а) bsa - 11.6.2010, 10:36 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 5 Всего: 10 |
индекс массива имеет тип ptrdiff_t, а это тип со знаком
Добавлено через 5 минут и 46 секунд
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
antonkonikov
Абсолютно корректно, обращение к массиву по индексу компилятором преобразовывается в *(array_ptr + index), если индекс отрицательный - получается *(array_ptr + (-index)), т.е. *(array_ptr - index). Дальше уже все зависит от этого адреса, если участок памяти в порядке - значит и программа в порядке. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |