0 / 0 / 0
Регистрация: 27.03.2009
Сообщений: 6
|
||||||
1 | ||||||
Как передать параметр типа "указатель на указатель" в функцию?27.03.2009, 22:24. Просмотров 1760. Ответов 15
Метки нет Все метки)
(
0
|
|
27.03.2009, 22:24 | |
Можно ли передать указатель на функцию как параметр другой функции?
Передать в неуправляемую функцию указатель на указатель В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель
__________________
15
Помогаю в написании курсовых работ и дипломов здесь. Записывайтесь на профессиональные курсы C++ разработчиков |
|
2808 / 1399 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
||||||
27.03.2009, 22:43 | 2 | |||||
p.s: придерживайтесь одного стиля: или работайте через t[i] или через *(t+i) и вообще я считаю что лучше наверное будет работать через динамический массив.. операция -> используется при указателях, а не при статических массивах...
0
|
0 / 0 / 0
Регистрация: 27.03.2009
Сообщений: 6
|
|||||||||||
27.03.2009, 22:48 [ТС] | 3 | ||||||||||
Да я б с радостью.... Но препы в универе требуют таких извращений...
Добавлено через 2 минуты 54 секунды Don Corleone, спасибо за программу, она работает, но с одним указателем то и я разобрался...
А преп требует, чтоб работал именно с прототипом вида
0
|
2808 / 1399 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
27.03.2009, 22:58 | 4 |
напрямую вроде нет... так как имя одномерного массива это всегда одинароное разыименование *...
0
|
0 / 0 / 0
Регистрация: 27.03.2009
Сообщений: 6
|
|
27.03.2009, 23:01 [ТС] | 5 |
Млин, препы жгут...
Кстати, по поводу system ("pause"), как то не подумал, getch() поставил))) Ну, буду сдавать через *.)))) Посмтрим)))
0
|
2808 / 1399 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
27.03.2009, 23:03 | 6 |
getch() я больше люблю) просто MS Visual Studio 2008 ругается на него..варнинг выдает..а меня это бесит..
там если и переадется через **, то скорей всего путем создания еще одного указтаеля ** на это массив... только так, как мне кажется..и то маловероятно..скажи преподу: "ты чего корявые задания задаешь? профи так не пишут!"
0
|
176 / 168 / 27
Регистрация: 12.01.2009
Сообщений: 430
|
|
27.03.2009, 23:05 | 7 |
0
|
4851 / 3272 / 466
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
27.03.2009, 23:06 | 8 |
Код
void sort(TStruct**, int); Код
sort (t, i); у тебя должен быть не массив структур, а массив указателей на структуры, тогда они будут быстрее сортироваться, так как при сортировке будут переставлятся только их адресы
0
|
0 / 0 / 0
Регистрация: 27.03.2009
Сообщений: 6
|
|
27.03.2009, 23:16 [ТС] | 9 |
accept, именно так, но я немного недопонял, как создать массив указателей
![]() Сорри, что сразу тупо объснил( Добавлено через 1 минуту 45 секунд Don Corleone, на getch() кстать и 2005 студио ругаеца...
0
|
682 / 231 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
|
|
27.03.2009, 23:35 | 10 |
0
|
2808 / 1399 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
||||||
27.03.2009, 23:45 | 11 | |||||
NFL, все сводится к тому, что со структурами лучше работать через указатели..!
например создавать надо было так, например:
0
|
Флудер
193 / 31 / 11
Регистрация: 23.03.2007
Сообщений: 334
|
|
27.03.2009, 23:54 | 12 |
ещё такой двойной указатель применяют для работы со связанным списком.
например, есть указатель на начало списка и нужно удалить элемент который в начале. тогда измениться указатель на начало. для того чтобы это сделать он передается по адресу и получается в качестве параметра функции указатель на указатель. Добавлено через 2 минуты 12 секунд _getch(); на него никто не ругается
0
|
144 / 144 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|
28.03.2009, 00:25 | 13 |
Можно привести маленький пример с массивом указателей на тип int, если не трудно.
Я попытался работать как с обычными указательмя, но выбрасывает ошибку.
0
|
4851 / 3272 / 466
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
28.03.2009, 00:30 | 14 | ||||||||||
NFL, ты можешь создать простой массив и массив указателей, простой массив заполнить (он, кстати, может быть и не массивом, а просто раздельными структурами), а потом адресы элементов этого массива или адресы структур записать в массив указателей, получится как бы массив адресов
и вот все эти функции будут работать с массивом адресов, в то время как начальный массив будет располагаться так, как он был заложен при создании
0
|
0 / 0 / 0
Регистрация: 27.03.2009
Сообщений: 6
|
|
28.03.2009, 18:03 [ТС] | 15 |
accept, спс, ща будем пробовать
![]() Ток у мя ж структура заполняется вручную.... Потому придется изврнуться немного)))
0
|
4851 / 3272 / 466
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
28.03.2009, 23:13 | 16 |
сделай создание структуры, а потом элементы массива в цикле передавай в это создание
у тебя один цикл будет сохранять адресы для сортировок, а второй цикл - заполнять массив структур данными после этих циклов можно применять вывод, сортировку, вывод
0
|
28.03.2009, 23:13 | |
Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь. Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции)
Указатель на функцию (как передать?)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |