Heim > Artikel > Backend-Entwicklung > Was bedeutet statische Speicherzuweisung in der C-Programmierung?
Speicher kann auf die folgenden zwei Arten zugewiesen werden:
Statische Variablen werden in einem zugewiesenen Speicherplatzblock mit fester Größe definiert. Sobald es zugewiesen ist, kann es nicht mehr freigegeben werden.
Reservieren Sie Speicher für deklarierte Variablen im Programm.
Mit dem Operator „&“ können Sie die Adresse abrufen und dem Zeiger zuweisen.
Speicher wird zur Kompilierzeit zugewiesen.
Es verwendet den Stack, um die statische Speicherzuweisung aufrechtzuerhalten.
Bei dieser Art der Zuweisung kann die Speichergröße nach der Zuweisung des Speichers nicht mehr geändert werden.
Weniger effizient.
Die endgültige Größe der Variablen wird vor der Programmausführung bestimmt, dies wird als statische Speicherzuweisung bezeichnet. Wird auch als Speicherzuweisung zur Kompilierungszeit bezeichnet.
Wir können die Größe der zur Kompilierungszeit zugewiesenen Variablen nicht ändern.
Statische Speicherzuweisung wird normalerweise für Arrays verwendet. Lassen Sie uns ein Beispielprogramm am Beispiel eines Arrays erstellen:
Demonstration
#include<stdio.h> main (){ int a[5] = {10,20,30,40,50}; int i; printf (“Elements of the array are”); for ( i=0; i<5; i++) printf (“%d, a[i]); }
Elements of the array are 1020304050
Betrachten wir ein weiteres Beispiel zur Berechnung der Summe und des Produkts aller Elemente in einem Array −
Echtzeitdemonstration
#include<stdio.h> void main(){ //Declaring the array - run time// int array[5]={10,20,30,40,50}; int i,sum=0,product=1; //Reading elements into the array// //For loop// for(i=0;i<5;i++){ //Calculating sum and product, printing output// sum=sum+array[i]; product=product*array[i]; } //Displaying sum and product// printf("Sum of elements in the array is : %d</p><p>",sum); printf("Product of elements in the array is : %d</p><p>",product); }
Sum of elements in the array is : 150 Product of elements in the array is : 12000000
Das obige ist der detaillierte Inhalt vonWas bedeutet statische Speicherzuweisung in der C-Programmierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!