Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq

Mündəricat:

Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq
Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq

Video: Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq

Video: Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq
Video: Static Memory vs Dynamic Memory | C Language Tutorial 2024, Iyul
Anonim

Əsas Fərq – Statik və Dinamik Yaddaş Ayrışı

Proqramlaşdırmada hesablama məlumatlarını saxlamaq lazımdır. Bu məlumatlar yaddaşda saxlanılır. Kompüter proqramlaşdırmasında məlumatların saxlanması üçün yaddaş yerləri dəyişənlər kimi tanınır. Dəyişənlərin müəyyən bir məlumat növü var. Beləliklə, yaddaş proqramları işə salmaq üçün ayrılır. Yaddaş iki yolla ayrıla bilər. Bunlar Statik yaddaşın ayrılması və Dinamik yaddaşın ayrılmasıdır. Statik yaddaşın ayrılması zamanı yaddaş ayrıldıqdan sonra onu dəyişdirmək mümkün deyil. Yaddaş təkrar istifadə edilə bilməz. Lakin dinamik yaddaş bölgüsündə yaddaş ayrıldıqdan sonra onu dəyişdirmək olar. Statik və dinamik yaddaşın ayrılması arasındakı əsas fərq ondan ibarətdir ki, statik yaddaşın ayrılması zamanı yaddaş ayrıldıqdan sonra yaddaşın ölçüsü dinamik yaddaşın ayrılması zamanı sabitlənir, yaddaş ayrıldıqdan sonra yaddaşın ölçüsü dəyişdirilə bilər.

Statik Yaddaş Ayrılması nədir?

Statik yaddaş bölgüsündə ayrılmış yaddaş sabitlənir. Yaddaş ayrıldıqdan sonra onu dəyişdirmək mümkün deyil. Yaddaşı artırmaq və ya az altmaq mümkün deyil. Məsələn, C dilində proqramçı int x yazırsa, bu, dəyişənin tam dəyər saxlaya biləcəyini bildirir. Baytların sayı kompüterdən asılıdır. Massivlər də ola bilər. məs. int x [5]; Bu x eyni tipli verilənlər ardıcıllığını saxlaya bilən massivdir. Beş tam elementi saxlaya bilər. Beşdən çox element saxlaya bilməz. Java-da massiv, int arr=new int[5] kimi yaradıla bilər; ‘arr’ massivi 5 tam dəyər saxlaya bilər və bundan artıq saxlaya bilməz.

Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq
Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq
Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq
Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq

Şəkil 01: Yaddaş Ayırma Metodları

Statik yaddaş bölgüsündə dəyişənlər ayrıldıqdan sonra onlar daimi olaraq qalırlar. İlkin ayırmadan sonra proqramçı yaddaşın ölçüsünü dəyişə bilməz. Proqramçı 10 elementi saxlaya bilən massiv ayırıbsa, göstərilən məbləğdən artıq dəyərləri saxlamaq mümkün deyil. Əgər proqramçı əvvəlcə 10 elementi saxlaya bilən, lakin yalnız 5 elementə ehtiyac duyan massiv ayırıbsa, onda yaddaş itkisi var. Həmin yaddaşa artıq ehtiyac yoxdur, lakin yaddaşdan təkrar istifadə etmək də mümkün deyil. Statik yaddaşın ayrılması sabitdir, lakin icrası sadə və asandır və eyni zamanda sürətlidir.

Dinamik Yaddaş Ayırma nədir?

Bəzən yaddaşın ölçüsünü dəyişmək lazımdır. Beləliklə, yaddaş dinamik olaraq ayrıla bilər. Məlumat elementlərinin daxil edilməsindən və silinməsindən asılı olaraq yaddaş böyüyə və ya kiçilə bilər. O, dinamik yaddaş bölgüsü kimi tanınır.

C dilində, stdlib.h başlıq faylında, dinamik yaddaşın ayrılması üçün dörd funksiya var. Bunlar calloc, malloc, realloc və pulsuzdur. malloc() funksiyası tələb olunan bayt ölçüsünü ayırır və ayrılmış yaddaşın ilk baytını göstərən boş göstərici qaytarır. calloc() funksiyası tələb olunan bayt ölçüsünü ayırır və onları sıfıra endirir. Sonra yaddaşa boşluq göstəricisini qaytarır. Pulsuz () funksiyası ayrılmış yaddaşı yenidən bölüşdürmək üçün istifadə olunur. Və realloc funksiyası əvvəllər ayrılmış yaddaşı dəyişdirə bilər. Calloc və ya malloc istifadə edərək yaddaş ayrıldıqdan sonra yaddaşın ölçüsü müəyyən edilir, lakin realloc funksiyasından istifadə edərək onları artırmaq və ya az altmaq olar. Java-da kolleksiyalar dinamik yaddaş bölgüsü üçün istifadə edilə bilər.

Dinamik yaddaşın ayrılmasının əsas üstünlüyü yaddaşa qənaət etməsidir. Proqramçı lazım olduqda yaddaşı ayıra və ya yaddaşı buraxa bilər. Yaddaş icra zamanı yenidən bölüşdürülə bilər və tələb olunmadıqda yaddaşı azad edə bilər. Dinamik yaddaşın ayrılması statik yaddaşın ayrılmasından da səmərəlidir. Dezavantajlardan biri dinamik yaddaş bölgüsünün həyata keçirilməsinin mürəkkəb olmasıdır.

Statik və Dinamik Yaddaş Ayrılması Arasındakı oxşarlıqlar nələrdir?

  • Hər ikisi yaddaş ayırma mexanizmləridir.
  • Hər ikisi proqramçı tərəfindən əl ilə həyata keçirilməlidir.

Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq Nədir?

Statik vs Dinamik Yaddaş Ayrışı

Statik yaddaş ayrılması yaddaşın ayrılması üsuludur və yaddaş ayrıldıqdan sonra o, düzəldilir. Dinamik yaddaş ayrılması yaddaşın ayrılması üsuludur və yaddaş ayrıldıqdan sonra onu dəyişdirmək olar.
Modifikasiya
Statik yaddaş ayrılması zamanı ilkin ayırmadan sonra ölçüsünü dəyişmək mümkün deyil. Dinamik yaddaş bölgüsündə yaddaş müvafiq olaraq minimuma endirilə və ya maksimuma artırıla bilər.
İcra
Statik yaddaş ayrılmasını həyata keçirmək asandır. Dinamik yaddaş bölgüsü həyata keçirmək üçün mürəkkəbdir.
Sürət
Statik yaddaşda ayırmanın icrası dinamik yaddaşın ayrılmasından daha sürətlidir. Dinamik yaddaşda ayırma icrası statik yaddaş ayrılmasından daha yavaşdır.
Yaddaş İstifadəsi
Statik yaddaş ayrılması zamanı istifadə olunmamış yaddaşı təkrar istifadə etmək mümkün deyil. Dinamik yaddaş bölgüsü yaddaşdan təkrar istifadə etməyə imkan verir. Tələb olunduqda proqramçı daha çox yaddaş ayıra bilər. Lazım olduqda yaddaşı buraxa bilər.

Xülasə – Statik və Dinamik Yaddaş Ayrışı

Proqramlaşdırmada Statik yaddaşın ayrılması və dinamik yaddaşın ayrılması yaddaşın ayrılması üçün iki mexanizmdir. Statik və dinamik yaddaş bölgüsü arasındakı fərq ondan ibarətdir ki, statik yaddaş bölgüsündə yaddaş ayrıldıqdan sonra yaddaşın ölçüsü dinamik yaddaş bölgüsündə sabitlənir, yaddaş ayrıldıqdan sonra yaddaş ölçüsü dəyişdirilə bilər. Proqramçı proqramdan asılı olaraq yaddaşın statik və ya dinamik olmasına qərar verə bilər.

Statik və Dinamik Yaddaş Ayırma PDF-ni endirin

Bu məqalənin PDF versiyasını yükləyə və sitat qeydinə əsasən onu oflayn məqsədlər üçün istifadə edə bilərsiniz. Zəhmət olmasa PDF versiyasını buradan endirin: Statik və Dinamik Yaddaş Ayrılması Arasındakı Fərq

Tövsiyə: