Как вы называете функцию, которая вызывает себя (это называется рекурсия)? - PullRequest
6 голосов
/ 26 июля 2011

Я пытаюсь выяснить, что вы называете функцией, которая ссылается на себя. Это называется рекурсия? Или это просто функция самоссылки?

Ответы [ 3 ]

7 голосов
/ 26 июля 2011

Это рекурсивная функция . Прямая рекурсия - это когда функция вызывает себя.

2 голосов
/ 26 июля 2011

Функция, которая вызывает себя, как вы подозреваете, называется "рекурсивной".

0 голосов
/ 26 июля 2011

Рекурсивный или саморекурсивный - это то, что я обычно называю.Просто будьте осторожны, чтобы не застрять в цикле, вызывающем себя, и в конечном итоге взорвав стек.

Также имейте в виду область действия вашей переменной.Объявите переменные как статические, если они должны быть общими для всех уровней рекурсии (или объявите их вне функции).Передайте переменные в функцию, если вам нужно, чтобы конкретная информация передавалась с одного уровня на другой.И наконец, используйте локальные переменные в функции, которые необходимы для сохранения состояния для текущего уровня рекурсии.Локальные переменные будут копировать в стек для каждого уровня рекурсии, который вы вызываете, и возвращаться к предыдущим значениям для каждой рекурсии, которая раскручивается.

...