GCC コンパイラーによる C/C++ や Scheme など、末尾再帰の最適化(Tail Call Optimization)が有効な言語では、再帰呼びだしによってスタックが消費されません。 末尾再帰のループへの変換 末尾再帰関数は、単純な手順にしたがってループに書きかえられます。