![]() |
|
Модераторы: bsa |
![]()
|
|
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
Уважаемые программисты, помогите мне пожалуйста! Вот программа, которую я опять таки сделал кое как с моим руководителем!
Программа создает список из трех элементов и печатает его. Есть функция создания новон=го элемента в конце списка. Я не понимаю некоторые строки программы, так скажем! Про указатели я все вроде бы понимаю! Я прочитал все, что естьна вашем форуме и не толбко, суть ясна. Но я не понимаю, зачем он нужен на примере вот конкретной программы. Вот объявил я указатель, который указывает на область памяти типа int и имеет адрес 0х11111(чтоб легче различать)...и сделал указатель на этот указатель. Получается во втором указателе будет записан адрес первого 0х11111, а его собственный, к примеру, 0x22222.....так получается или нет?! Остальные вопросы ниже напротив строк:
Зачем все это нужно то? Чтобы я мог в каждой функции его изменять отдельно или как? Прошу, потратьте на меня немного своего времени и помогите разобраться с этим, наконец! Заранее спасибо! Это сообщение отредактировал(а) ConverterDU - 25.2.2011, 13:31 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
попробуй (только для уяснения) создать тип
и везде, где увидишь List_t* (с одной звездой) заменить его на PList_t потом посмотри внимательно на то, что получилось, и... думаю будет яснее... я лично так врубался в указатели на указатели Это сообщение отредактировал(а) borisbn - 25.2.2011, 15:38 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
ну вы же так все хорошо это понимаете, объясните полно, плз!
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
ConverterDU, чтобы функция могла поменять указатель, который передается ей в качестве параметра необходимо передавать адрес этого указателя. Это и есть одна из сфер использования указателей на указатель.
Есть еще одна сфера - массивы динамических массивов или просто динамически выделяемых данных. |
|||
|
||||
| borisbn |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
ConverterDU, смотри. В таком коде вопросов нет ?
тогда и в таком не должно быть
давай заменим в первом коде int на некий T
теперь давай во втором коде заменим int * на PT
как видишь, теперь между этими вариантами нет никакой разницы, ну, за исключением того, что в 1-м варианте fill записывает в результат целое число, а во 2-м - указатель, т.е. рез-т работы ф-ции malloc -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||||
|
|||||||||
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
bsa, спасибо!
borisbn, спасибо огроменное, мне теперь с указателями, по сути, все понятно стало! что бы я без тебя делал!! Круто!! |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
|
|||
|
||||
| ConverterDU |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 18.2.2011 Репутация: нет Всего: нет |
bsa, хорошо, я просто не знал, что нужо!
|
|||
|
||||
![]()
|
| Правила форума "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. |