![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | ||||
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
А если серьёзно, это крйне прикольная система контролируемого количества связей между данными вместо дублирования самих данных, элегантная аки рекурсивная функция если сделать как надо. очень неплохо может играть в роли нейросети с изменяемым количеством изменяемых связей. Короче перспектива есть.
do not use your brain
Последний раз редактировалось Кащей; 22.08.2013 в 18:54. |
||||
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
и что, по Вашему мнению, значит такое?:
Код:
Порядок такой: Код:
После освобождения памяти указатели содержат "мусор". Избавиться от него можно установив указатель в NULL. Последний раз редактировалось Igor95; 22.08.2013 в 19:14. |
![]() |
![]() |
![]() |
#13 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Не знал, спасибо)
|
![]() |
![]() |
![]() |
#15 | |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
![]()
Вот результат работы по поиску структуры со значениме 30 в переменной n
Цитата:
Вышибает уже после поиска. Где? Код:
Ошибка свидетельствует о неправильно освобождаемой памяти... Товарищи! помогите правильно память освободить. И установка указательей в NULL после освобождения памяти ето же не обязательно если указатель использоваться не будет. Вылетает.. чорт.. Прикладываю код Код:
do not use your brain
Последний раз редактировалось Stilet; 22.08.2013 в 22:38. |
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Да, перепутал, *next возвращается
Да, а как же вы освобождаете память, выделенную для Код:
Последний раз редактировалось Stilet; 22.08.2013 в 22:50. |
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
![]()
Непонял. Перефразируй пожалуйста.
do not use your brain
|
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Вам ведь нужно правильно память освободить. Т.е, если Вы освободите сначала память, выделенную для Node* node, то это не значит, что освободится и память, выделенная для указателей next, *next, prev, *prev.
Сначала нужно освободить память вышеуказанных указателей, а потом удалить и память, выделенную для Node* node. |
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
![]()
Я исходил из логики - под что память выделяю, то и освобождаю. Тоесть
Код:
Код:
и не понятно next, *next, откуда?
do not use your brain
|
![]() |
![]() |
![]() |
#20 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]() Цитата:
Насчет спора про освобождение - все верно (что выделили, то и освободили). Единственное, нет гарантии, что в массиве node[COUNT] все поля next имеют значение NULL (это к вопросу о проверке if(node[i].next != NULL) free(node[i].next); в free_all).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 22.08.2013 в 23:04. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с указателями | compiler90 | Visual C++ | 1 | 04.06.2012 18:52 |
Работа с указателями | yaapelsinko | Общие вопросы Delphi | 3 | 15.02.2012 01:13 |
Работа с указателями | Byurrer | Общие вопросы C/C++ | 8 | 02.04.2011 21:09 |
Работа с указателями | stas135642 | Общие вопросы C/C++ | 2 | 21.11.2010 15:05 |
Работа с указателями | Mango | Помощь студентам | 2 | 23.11.2008 10:33 |