|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.08.2013, 18:52 | #11 | ||||
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Цитата:
Цитата:
Цитата:
Цитата:
А если серьёзно, это крйне прикольная система контролируемого количества связей между данными вместо дублирования самих данных, элегантная аки рекурсивная функция если сделать как надо. очень неплохо может играть в роли нейросети с изменяемым количеством изменяемых связей. Короче перспектива есть.
do not use your brain
Последний раз редактировалось Кащей; 22.08.2013 в 18:54. |
||||
22.08.2013, 19:11 | #12 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
и что, по Вашему мнению, значит такое?:
Код:
Порядок такой: Код:
После освобождения памяти указатели содержат "мусор". Избавиться от него можно установив указатель в NULL. Последний раз редактировалось Igor95; 22.08.2013 в 19:14. |
22.08.2013, 19:16 | #13 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
|
|
22.08.2013, 19:18 | #14 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Не знал, спасибо)
|
22.08.2013, 20:14 | #15 | |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Вот результат работы по поиску структуры со значениме 30 в переменной n
Цитата:
Вышибает уже после поиска. Где? Код:
Ошибка свидетельствует о неправильно освобождаемой памяти... Товарищи! помогите правильно память освободить. И установка указательей в NULL после освобождения памяти ето же не обязательно если указатель использоваться не будет. Вылетает.. чорт.. Прикладываю код Код:
do not use your brain
Последний раз редактировалось Stilet; 22.08.2013 в 22:38. |
|
22.08.2013, 20:47 | #16 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Да, перепутал, *next возвращается
Да, а как же вы освобождаете память, выделенную для Код:
Последний раз редактировалось Stilet; 22.08.2013 в 22:50. |
22.08.2013, 22:38 | #17 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Непонял. Перефразируй пожалуйста.
do not use your brain
|
22.08.2013, 22:50 | #18 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Вам ведь нужно правильно память освободить. Т.е, если Вы освободите сначала память, выделенную для Node* node, то это не значит, что освободится и память, выделенная для указателей next, *next, prev, *prev.
Сначала нужно освободить память вышеуказанных указателей, а потом удалить и память, выделенную для Node* node. |
22.08.2013, 22:53 | #19 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Я исходил из логики - под что память выделяю, то и освобождаю. Тоесть
Код:
Код:
и не понятно next, *next, откуда?
do not use your brain
|
22.08.2013, 23:00 | #20 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Цитата:
Насчет спора про освобождение - все верно (что выделили, то и освободили). Единственное, нет гарантии, что в массиве 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 |