Sobes.tech
Junior — Middle

Bir program çalıştırılırken yığın taşması nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yığın taşması (stack overflow), bir programın işletim sistemi tarafından tahsis edilen yığın belleğinden daha fazla bellek kullanması durumunda meydana gelir. Bu genellikle sonsuz veya çok derin bir özyineleme veya çok büyük yerel değişkenlerin tahsisi nedeniyle olur.

Yığın, yerel değişkenlerin ve fonksiyonların dönüş adreslerinin saklandığı bellek alanıdır. Eğer yığın taşarsa, program hata ile aniden sona erer.

Yığın taşmasına neden olan sonsuz özyineleme örneği:

void Recursive()
{
    Recursive(); // çıkış koşulu olmadan kendini çağırır
}

Recursive();

Yığın taşmasını önlemek için, özyineleme derinliğini ve yerel verilerin boyutunu kontrol etmek gerekir.