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

Was bedeutet statische Speicherzuweisung in der C-Programmierung?

王林
Freigeben: 2023-09-14 15:21:01
nach vorne
1031 Leute haben es durchsucht

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]);
}
Nach dem Login kopieren

Ausgabe

Elements of the array are
1020304050
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

Ausgabe

Sum of elements in the array is : 150
Product of elements in the array is : 12000000
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage