![]() |
|
Модераторы: bsa |
![]()
|
|
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 7 Всего: 60 |
||||
|
||||
| J0ker |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
ошибаетесь type arr[x][y]; можно рассматрвать как type *ptr (однако синтаксически это разные типы и не могут быть присвоены напрямую) например:
результат:
т.е. при обращении к статическому двумерному массиву [x][y] смещение элемента [a][b] относительно начала вычисляется как (a*y+b) если же мы обращаемся через [a][b] к типу type**, то происходит следующее: 1. [a] трактуются как обращение к элементу a массива из type* - т.е. это массив указателей, и полученный элеент это УКАЗАТЕЛЬ 2. [b] трактуется как обращение к элементу b массива из type с базовым адресом полученным на предыдущем шаге иллюстрация: int arr[2][4]; arr[1][2]------------------------------------+ | V <[0][0],[0][1],[0][2],[0][3],[1][0],[1][1],[1][2],[1][3]> int **ptr; ptr[1][2] [1]---+ | V <[0],[1],[2],[3],........ | | | | | +--------------------------------+ | +---------------+ [2] | +-> <[0],[1],....> | V | +-> <[0],[1],[2],..> | +-> <[0],[1],......> Это сообщение отредактировал(а) J0ker - 2.10.2008, 17:23 |
||||
|
|||||
![]()
|
| Правила форума "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. |