![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Mpak |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 12.11.2006 Репутация: нет Всего: 7 |
Например Векторы мы передаем
в описании пишется
А как с двумерными??? Это сообщение отредактировал(а) Mpak - 21.12.2006, 13:31 -------------------- В любой откомпилированной программе есть, по крайней мере, одна ошибка... P.S. А у меня их минимум две... |
||||
|
|||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: нет Всего: 34 |
По-моему так:
|
|||
|
||||
| TaNK |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
-------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
||||||||
|
|||||||||
| Mpak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 12.11.2006 Репутация: нет Всего: 7 |
alberth, почему именно [10]?
Добавлено @ 13:53 TaNK, что значит ** и uc -------------------- В любой откомпилированной программе есть, по крайней мере, одна ошибка... P.S. А у меня их минимум две... |
|||
|
||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
** - указатель на указатель массивов uc - название ее..если хочешь могу код полность привести, чтоб понятно было? Добавлено @ 14:15 только это для матрицы пример, подойдет он тебе? -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
| Mpak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 12.11.2006 Репутация: нет Всего: 7 |
TaNK, Приведи, надеюсь он сильно сложный
-------------------- В любой откомпилированной программе есть, по крайней мере, одна ошибка... P.S. А у меня их минимум две... |
|||
|
||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: нет Всего: 34 |
||||
|
||||
| TaNK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
да нет...не очень он и трудный этот пример
-------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
||||
|
|||||
| jonie |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
alberth всеж имхо прав, говоря о передаче именно массива. Скобки только левые крайнии могут не содержать размера. При этом sizeof(такое) вовсе вам не даст размер массива.. даст размер указателя) Передается только он. всеж синтаксически если говорить тогда так:
и малоли что никто не пишет.. я вот недавно в реальном проекте такое увидел....долго думал) как вариант можно использовать void* в параметрах ф-ции) на любителя... Это сообщение отредактировал(а) jonie - 22.12.2006, 01:41 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||
|
|||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
извините ерунду сморозил -
int **uc - указатель на массив указателей! в примере выше -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
| jonie |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
вот так это выглядит в памяти при разыменовании...
массива там нет. Да, при доступе это выглядит как доступ к массиву (потому как раскрывается uc[i][j] компилятором как *((*uc + i)+j) что через sizeof() распишется как *((*uc + i*sizeof(int*))+j*sizeof(int)) что в точности дает доступ к элементу), но имхо называть это массивом никак нельзя.. Указатель на указатель и не более.
а это выглядит воообще как : int* (*name)[]; Это сообщение отредактировал(а) jonie - 22.12.2006, 11:49 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||||
|
|||||||
| TaNK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
Значит Хомоненко - тоже ерунду сморозил...это я кажется там посмотрел....
-------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Немного поправлю. Объявление вида int *a; int b[100]; Второе - однозначно массив, а первое указатель. Но: a = new int[100]; Теперь a является массивом Пу сути дела - имя массива с точки зрения типа С++ является указателем на тип массива. Поэтому говорить, что вижу указатель, но не вижу массива немножко односторонне. К многомерным массивам это также относится. Объявление вида int a[2][3] является по сути указателем на массив указателей т.е. int*[2]; Это два указателя на массивы из трех элементов. А так как массив (имя массива) это и есть указатель - то значит два указателя на указатели. Данное и реализуется приведенным выше примером работы с матрицами |
|||
|
||||
| jonie |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
ф-ция в С не может возращать ф-ции или массивы....указатели на них может (ANSI ISO\IEC 14882-2003(E) вроде гдето там есть имеенно такое определение.... )... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||
|
|||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Таки нет. Эта штука создаст массив в стеке из 6 элементов. Никаких указателей на указатели. Другое дело, что локально a[i][j] будет обрабатываться компилером нормально, но по-другому: Что-то типа: *(a + i*n + j); где n - вторая размерность массива. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |