Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeutet statische Speicherzuweisung in der C-Programmierung?

Was bedeutet statische Speicherzuweisung in der C-Programmierung?

王林
王林nach vorne
2023-09-14 15:21:011013Durchsuche

Speicher kann auf die folgenden zwei Arten zugewiesen werden:

Was bedeutet statische Speicherzuweisung in der C-Programmierung?

Statische Speicherzuweisung

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.

Beispiel 1

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 (&ldquo;Elements of the array are&rdquo;);
   for ( i=0; i<5; i++)
      printf (&ldquo;%d, a[i]);
}

Ausgabe

Elements of the array are
1020304050

Beispiel 2

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);
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen