Sobes.tech
Junior — Middle

Proqram icra edilərkən yığın daşması nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Yığın daşması (stack overflow) əmələ gəlir, proqram əməliyyat sistemi tərəfindən ayrılmış yığın yaddaşından çox istifadə etdikdə baş verir. Bu, adətən, sonsuz və ya çox dərin rekursiya və ya çox böyük yerli dəyişənlərin ayrılması nəticəsində baş verir.

Yığın, yerli dəyişənlərin və funksiyaların geri dönüş ünvanlarının saxlandığı yaddaş sahəsidir. Əgər yığın daşarsa, proqram qəza ilə xətalı şəkildə bağlanır.

Yığın daşmasına səbəb olan sonsuz rekursiya nümunəsi:

void Recursive()
{
    Recursive(); // çıxış şərti olmadan özünü çağırır
}

Recursive();

Yığın daşmasının qarşısını almaq üçün, rekursiya dərinliyini və yerli məlumatların ölçüsünü nəzarətdə saxlamaq lazımdır.