Перечислите все темы Кафки

Вам нужна помощь в понимании разницы?

Представьте себе вызывающую функцию в первом случае:

IntElement *head;
int data;
...
insertInFront (head, data);

Теперь в этом случае адрес, на который указывает голова, помещается в стек и передается как аргумент для insertInFront. Когда insertInFront делает head = newElement; изменяется только аргумент (в стеке).

Во втором случае вызывающий абонент будет:

IntElement *head;
int data;
...
insertInFront (&head, data);

В этом случае адрес головы помещается на стек и передается в качестве аргумента для insertInFront. Когда вы делаете * head = newElement, это переданное в адресе де-ссылку, чтобы получить адрес исходной главы списка, и это было изменено.

39
задан cricket_007 14 November 2018 в 19:25
поделиться