Sobes.tech
Intern

Proqramda yığın nə üçün istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Yığın, proqramın yaddaşını və icra axınını idarə etmək üçün istifadə olunur.

Əsas vəzifələr:

  • Yerli dəyişənlərin saxlanması: Funktsiyalar və ya kod blokları daxilində elan olunan dəyişənlər yığına yerləşdirilir və sahələrinin sonunda avtomatik olaraq sərbəst buraxılır.
  • Funktsiyaların çağırışlarının idarə olunması: Bir funksiya çağırıldıqda, geri dönüş ünvanı, arqumentlər və yerli dəyişənlər yığına qoyulur. Geri dönüşdə, bu məlumatlar bərpa olunur.
  • İcra kontekstinin saxlanması: Yığın proqramın hazırkı vəziyyəti haqqında məlumat saxlayır və iç-içə çağırışlar və rekursiyanı düzgün idarə etməyə imkan verir.
  • Undo/redo mexanizmi: Bəzi hallarda, yığın əməliyyatların ləğvi/yenidən həyata keçirilməsi funksionallığını həyata keçirmək üçün istifadə oluna bilər, vəziyyət tarixçəsini saxlayaraq.

Funktsiya yığın çərçivəsinin nümunəsi:

// `myFunction(a: Int)` funksiyası çağırıldıqda yığının görünüşü
// Geri dönüş ünvanı (myFunction icra edildikdən sonra haraya qayıtmaq)
// `a` arqumentinin dəyəri
// myFunction-un yerli dəyişənləri

Yığının xüsusiyyətləri:

  • LIFO (Last-In, First-Out): Ən son əlavə olunan element ilk çıxarılır.
  • Sabit ölçülü: Adətən, yığın məhdud ölçüyə malikdir, sistem tərəfindən müəyyən edilir. Yığın daşması (Stack Overflow) çox dərin və ya sonsuz rekursiv çağırışlar, əsas hal olmadan baş verir.
  • Tez yaddaş ayırması/azad edilməsi: Yığınla işləmək çox sürətlidir, çünki elementlər bir uclu (yuxarı) əlavə və silinir.

iOS inkişafında, yığın aktiv şəkildə yaddaş idarəçiliyi üçün istifadə olunur, Swift və Objective-C-də metodlar və funksiyalar icra edilərkən. Yerli dəyişənlər və funksiyaların parametrləri yığına yerləşdirilir. Bu, sinif obyektləri və digər dinamik olaraq ayrılmış məlumatlar üçün istifadə olunan yığın (heap) yaddaşından fərqlidir.