![]() |
|
Модераторы: bsa |
![]()
|
|
| Vermaxt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 4.8.2007 Репутация: нет Всего: нет |
Проблема следующая. Например создаем целочисленный массив. Как известно адрес первого элемента массива есть адрес всего массива. Тут проблем нет &array[0] и используем или присваиваем его куда нужно. Так же известно что название массива есть указатель на первый элемент массива. Что собственно интересно - Резервируется ли память под array (указатель на первый элемент массива)? Или как то это все происходит по-другому?
|
|||
|
||||
| andrew_121 |
|
||||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
справедливо только для вектора или Си массивов.
поясните. -------------------- Удалил аккаунт. Прощайте! |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
| Vermaxt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 4.8.2007 Репутация: нет Всего: нет |
bsa, т.е. это что то типа директивы #define? При обработки препроцессором значение подставляется, но память не расходуется.
|
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
препроцессор тут не при чем, все происходит в компиляторе. Для статического массива компилятор знает по какому смещению он будет расположен, и всегда подставляет адрес. То же самое он делает для обычной переменной. Но вот когда массив передается в функцию, то создается указатель, который инициализируется значением адреса массива. Добавлено через 5 минут и 32 секунды
название массива (как и переменной) грубо говоря лишь удобное представление смещения, т.е в процессе компиляции вместо первого всегда подставляется второе. На самом деле правда с именем ассоциировано не только смешение, а еще куча доп. информации, но для текущего вопроса это не принципиально. |
||||
|
|||||
| Vermaxt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 4.8.2007 Репутация: нет Всего: нет |
mes, Все стало понятно. Спасибо.
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
![]()
|
| Правила форума "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. |