Unterschied zwischen statischer und dynamischer Speicherzuweisung

Unterschied zwischen statischer und dynamischer Speicherzuweisung

Schlüsselunterschied - statische vs dynamische Speicherzuweisung
 

Bei der Programmierung müssen Rechendaten gespeichert werden. Diese Daten werden im Speicher gespeichert. Die Speicherorte zum Speichern von Daten in der Computerprogrammierung sind als Variablen bezeichnet. Die Variablen haben einen bestimmten Datentyp. Daher wird der Speicher für die Ausführung der Programme zugewiesen. Das Gedächtnis kann auf zwei Arten zugewiesen werden. Sie sind statische Speicherzuweisung und dynamische Speicherzuweisung. Bei der statischen Speicherzuweisung kann der Speicher, sobald er zugewiesen ist, nicht geändert werden. Das Gedächtnis ist nicht wiederverwendbar. In der dynamischen Speicherzuweisung kann jedoch der Speicher zugewiesen werden, sobald er geändert werden kann. Der Schlüsselunterschied Zwischen statischer und dynamischer Speicherzuweisung ist das Bei der statischen Speicherzuweisung, sobald der Speicher zugewiesen ist.

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist die statische Speicherzuweisung
3. Was ist dynamische Speicherzuweisung
4. Ähnlichkeiten zwischen statischer und dynamischer Speicherzuweisung
5. Seite für Seitenvergleich - statische vs dynamische Speicherzuweisung in tabellarischer Form
6. Zusammenfassung

Was ist die statische Speicherzuweisung?

In der statischen Speicherzuweisung ist der zugewiesene Speicher behoben. Sobald der Speicher zugewiesen ist, kann er nicht geändert werden. Das Gedächtnis kann nicht erhöht oder verringert werden. Zum Beispiel in der C -Sprache, wenn der Programmierer int x schreibt, was bedeutet, dass die Variable einen Ganzzahlwert speichern kann. Die Anzahl der Bytes hängt vom Computer ab. Es kann auch Arrays geben. E.G. int x [5]; Dieses X ist ein Array, das eine Abfolge von Daten speichern kann, die vom gleichen Typ sind. Es kann fünf Ganzzahlelemente speichern. Es kann nicht mehr als fünf Elemente speichern. In Java kann ein Array als int arr [] = new int [5] erstellt werden; Das Array 'arr' kann 5 Ganzzahlwerte speichern und kann nicht mehr speichern.

Abbildung 01: Speicherzuweisungsmethoden

In der statischen Speicherzuweisung bleiben die Variablen, sobald sie zugewiesen sind, dauerhaft. Nach der anfänglichen Zuordnung kann der Programmierer den Speicher nicht ändern. Wenn der Programmierer ein Array zugewiesen hat, das 10 Elemente speichern kann, ist es nicht möglich, Werte mehr als diesen angegebenen Betrag zu speichern. Wenn der Programmierer zunächst ein Array zuteil. Dieser Gedächtnis ist nicht mehr benötigt, aber es ist auch nicht möglich, den Speicher wiederzuverwenden. Die statische Speicherzuweisung ist festgelegt, aber die Implementierung ist einfach und einfach und auch schnell.

Was ist dynamische Speicherzuweisung?

Manchmal ist es notwendig, die Größe des Speichers zu ändern. Der Speicher kann also dynamisch zugewiesen werden. Abhängig von Einfügen und Löschungen der Datenelemente kann der Speicher wachsen oder schrumpfen. Es ist als dynamische Speicherzuweisung bekannt.

In C -Sprache stdlib.H Header -Datei, es gibt vier Funktionen für die dynamische Speicherzuweisung. Sie sind Calloc, Malloc, Realloc und kostenlos. Die Funktion malloc () weist eine erforderliche Größe von Bytes zu und gibt einen Hohlraumzeiger zurück, wodurch das erste Byte des zugewiesenen Speichers verweist. Die Funktion CALLOC () weist eine erforderliche Größe von Bytes zu und initialisiert sie auf Null. Gibt dann einen leeren Zeiger zum Speicher zurück. Die Funktion Free () wird verwendet, um den zugewiesenen Speicher neu zuzuweisen.  Und Realloc -Funktion kann den zuvor zugewiesenen Speicher ändern. Nach der Zuweisung von Speicher mit Calloc oder Malloc ist die Speichergröße festgelegt, kann jedoch mit der Realloc -Funktion erhöht oder verringert werden. In Java können Sammlungen zur dynamischen Speicherzuweisung verwendet werden.

Der Hauptvorteil der dynamischen Speicherzuweisung besteht darin, dass es Speicher speichert. Der Programmierer kann Speicher zuweisen oder den Speicher nach Bedarf freigeben. Der Speicher kann während der Ausführung neu zugewiesen werden und kann den Speicher befreien, wenn er nicht erforderlich ist. Die dynamische Speicherzuweisung ist ebenfalls effizient als die statische Speicherzuweisung. Ein Nachteil ist, dass die Implementierung der dynamischen Speicherzuweisung komplex ist.

Was sind die Ähnlichkeiten zwischen statischer und dynamischer Speicherzuweisung?

  • Beide sind Speicherzuweisungsmechanismen.
  • Beide sollten vom Programmierer manuell implementiert werden.

Was ist der Unterschied zwischen statischer und dynamischer Speicherzuweisung?

Statische VS -Dynamic -Speicherzuweisung

Die statische Speicherzuweisung ist eine Methode zur Zuweisung von Speicher, und sobald der Speicher zugewiesen ist, ist er festgelegt. Die dynamische Speicherallokation ist eine Methode zur Zuweisung von Speicher. Sobald der Speicher zugewiesen ist, kann er geändert werden.
 Änderung
Bei der statischen Speicherzuweisung ist es nicht möglich, nach der Erstzuweisung die Größe zu ändern. In der dynamischen Speicherzuweisung kann der Speicher minimiert werden oder entsprechend maximieren.
Implementierung
Die statische Speicherzuweisung ist einfach zu implementieren. Die dynamische Speicherzuweisung ist komplex zu implementieren.
 Geschwindigkeit
Im statischen Speicher ist die Ausführung der Allokation schneller als die dynamische Speicherzuweisung. Im dynamischen Speicher ist die Ausführung der Allokation langsamer als die statische Speicherzuweisung.
Speicherauslastung
In der statischen Speicherzuweisung kann das nicht verwendete Speicher nicht wiederverwenden. Die dynamische Speicherzuweisung ermöglicht die Wiederverwendung des Speichers. Der Programmierer kann bei Bedarf mehr Speicher zuweisen . Er kann den Speicher bei Bedarf freigeben.

Zusammenfassung - Statische VS -Dynamic -Speicherzuweisung

In der Programmierung sind die statischen Speicherzuweisung und die dynamische Speicherzuweisung zwei Mechanismen zur Zuweisung von Speicher. Der Unterschied zwischen statischer und dynamischer Speicherzuweisung besteht darin, dass in der statischen Speicherzuweisung nach der Zuordnung des Speichers die Speichergröße festgelegt wird, während in der dynamischen Speicherzuweisung nach dem Speichern der Speichergröße die Speichergröße geändert werden kann. Der Programmierer kann entscheiden, ob der Speicher je nach Anwendung statisch oder dynamisch sein sollte.

Laden Sie die PDF der statischen und dynamischen Speicherzuweisung herunter

Sie können die PDF -Version dieses Artikels herunterladen und ihn für Offline -Zwecke gemäß Citation Note verwenden. Bitte laden Sie die PDF -Version hier herunter: Unterschied zwischen statischer und dynamischer Speicherzuweisung

Referenz:

1.Kayal, Somnath. „Somnath Kayal.Unterschied zwischen statischer Speicherzuweisung und dynamischer Speicherzuweisung, 1. Januar. 1970. Hier verfügbar 
2.Tutorialspitze.com. „Arrays in C." Der Punkt. Hier verfügbar 
3.Nareshtechnologies. Statischer Speicher gegen dynamisches Speicher | C Sprach -Tutorial, Naresh I Technologies, 19. September. 2016. Hier verfügbar