2014-10-17 3 views
0

У меня есть программа, которая имеет узел, называемый head. Я хочу настроить голову на NULL, однако я хочу сделать это внутри пустоты. Таким образом, я прохожу узел головки к методу:Как изменить узел связанного списка, используя пустоту?

void removeNode(node* head) { 
head = NULL; 
} 

Однако это не меняет голову в основной функции, только в пустоте. Кто-нибудь знает, как изменить значение узла, переданного как параметр в пустоту?

P.S: В качестве требования я не могу использовать свободную функцию или любой метод нераспределения памяти.

+1

'void removeNode (узел ** head) {* head = NULL; } ' – Coconop

ответ

1

Вы хотите сделать это вместо того, чтобы:

void removeNode(node** head) { 
    (*head) = NULL; 
} 

Это изменяет фактический указатель на NULL, так что он больше не указывает на что-нибудь.

+0

Как прокрутить список и установить последний узел в NULL? –

+0

@LeeWhite и в качестве дополнительной информации вместо прохода головы от вашей вызывающей функции передайте адрес головы. – Kraken

Смежные вопросы