![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
mister2010 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
НЕ могу понять динамические масивы. Объясните как этот код работает.
Вот пишу пример с книги.
nt **m = new int **[10]; //Это объявление указателя на трёхмерный масив? int **m = new int *[10];//Почему здесь одна квадратная скобка? Объясните понятней эту строку. Это объявление указателя m на 10 масивов что ли? Теперь это:
|
||||
|
|||||
toxx |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
что такое **m:
Выделение памяти под массив указателей из 10 элементов:
Это выделение памяти под строки\столбцы:
|
||||||
|
|||||||
mister2010 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Почему 2 раза встречается слово new?
|
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
mister2010
потомучто ты выделяешь память сначала под массив указателей, потом под строки массива на которые указывают эти указатели. |
|||
|
||||
mister2010 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Из-за чего я могу создать 2-мерный массив в тех 3-ёх строках кода? из-за чего я могу вложенный массив сделать выделив для нег опямять, то есть вот это:
|
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Код разжевывать лень, читайте книгу. Если книга не объясняет собственных примеров, смените ее. Классика - K&R. Если все равно не понимаете, то как ни печально, лучше будет сменить сферу деятельности.
Добавлю, что указатель на указатель в качестве двумерного массива - далеко не всегда хорошее решение. Часто логически разбивают один буфер, чтобы он был "как N-мерный" (что собственно делают и компиляторы для статических N-мерных массивов). -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
mister2010 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Из-за того, что создан не простой массив чисел, а из-за того что создан массив указателей?
Из-за того что каждый элемент массива - это указатель, именно поэтому я имею права, создать вложенный массив, посредством обращения по индексу массива? То есть например так m[5]=36; |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
отвечаешь на свои вопросы? |
|||
|
||||
mister2010 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Я написал как я считаю, правильно ли я ответил на свой вопрос?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |