Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2017, 20:07   #1
Bayern_M
Форумчанин
 
Регистрация: 18.03.2015
Сообщений: 114
По умолчанию Приоритет операций. Вставка ноды в список. Найти ошибки.

Добрый вечер всем.

Сижу над тестом, глаз замылен уже и мозг отказывается воспринимать ЭТО
Суть такая. Есть функция, которая вставляет новый узел в список после указанного. Указанный узел передается в функцию в качестве аргумента node
Дальше идет вот такое заклинание

Код:
void insert_node(struct list *node) {
    (node->next=malloc(sizeof(struct list)))->next = node->next;
}
И тут у меня в голове segmentation fault.
Нужно указать ошибки и переделать в человечий вид.
В человечий вид-то я могу переделать (разнести на несколько строк, проверить malloc на NULL и т.д.), а вот понять, что я получу в результате этого заклинания не могу. Банально запутался с приоритетом операций, мб?
Понимаю, что никому неохота копаться в гамне, но все же прошу помощи..

Я порядок вижу так:
1)
Код:
node->next = malloc(sizeof(struct list));
malloc выделяет память и новый указатель кладется в node->next (новый узел node1 пусть будет)


2)
Код:
node1->next = node->next;
тогда в node1->next у нас кладется node->next. Но node->next мы уже затерли, не? Значит, что мы туда положим указатель на самого себя?

Или тут совсем другой порядок действий? Не соображу никак, помогите.
Bayern_M вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти значение логических операций Programmer8 Помощь студентам 5 20.01.2016 20:47
Калькулятор, приоритет операций) Leo_96 Помощь студентам 1 11.12.2014 13:47
вставка в список margo_rita_92 Паскаль, Turbo Pascal, PascalABC.NET 2 24.03.2013 20:20
Вставка элемента в список Kovax Паскаль, Turbo Pascal, PascalABC.NET 2 09.03.2011 20:28
Вставка списка в отфильтрованный список Dastoff Microsoft Office Excel 10 09.03.2009 08:36