Heim > Backend-Entwicklung > C++ > Hauptteil

Speicherklassen in C

PHPz
Freigeben: 2023-09-11 18:33:03
nach vorne
934 Leute haben es durchsucht

Speicherklassen in C

In der C-Sprache werden die Eigenschaften von Variablen und Funktionen durch Speicherklassen beschrieben, z. B. die Sichtbarkeit und der Umfang von Variablen oder Funktionen.

In der C-Sprache gibt es vier Arten von Speicherklassen: automatische Variablen, externe Variablen, statische Variablen und Registervariablen.

auto

Die Speicherklasse Auto ist die Standardspeicherklasse für alle lokalen Variablen. Es wird beim Aufruf der Funktion erstellt. Wenn die Funktionsausführung abgeschlossen ist, wird die Variable automatisch zerstört.

Sie werden auch lokale Variablen genannt, da sie lokale Variablen der Funktion sind. Standardmäßig weist der Compiler ihnen Müllwerte zu.

Scope - Automatische Variablen sind lokale Variablen des Funktionsblocks.

Standardwert - Der Müllwert ist der Standardinitialisierungswert.

Lebensdauer - Die Lebensdauer einer Auto-Variable wird durch den Block begrenzt, in dem sie definiert ist.

Dies ist ein Beispiel für eine automatische Variable in der C-Sprache,

Beispiel

Live-Demonstration

#include <stdio.h>
int main() {
   auto int a = 28;
   int b = 8;
   printf("The value of auto variable : %d</p><p>", a);
   printf("The sun of auto variable & integer variable : %d", (a+b));
   return 0;
}
Nach dem Login kopieren

Ausgabe

The value of auto variable : 28
The sun of auto variable & integer variable : 36
Nach dem Login kopieren

extern

Externe Variablen werden auch globale Variablen genannt. Diese Variablen werden außerhalb der Funktion definiert. Diese Variablen sind während der gesamten Funktionsausführung global verfügbar. Der Wert globaler Variablen kann durch Funktionen geändert werden.

Geltungsbereich – Sie sind an keine Funktion gebunden. Sie sind überall im Programm, also global.

Standardwert – Globale Variablen haben einen Standardinitialisierungswert von Null.

Lebenszyklus - > Bis zum Ende der Programmausführung.

Hier ist ein Beispiel für eine externe Variable in der C-Sprache:

Beispiel

Live-Demonstration

#include <stdio.h>
extern int x = 32;
int b = 8;
int main() {
   auto int a = 28;
   extern int b;
   printf("The value of auto variable : %d</p><p>", a);
   printf("The value of extern variables x and b : %d,%d</p><p>",x,b);
   x = 15;
   printf("The value of modified extern variable x : %d</p><p>",x);
   return 0;
}
Nach dem Login kopieren

Ausgabe

The value of auto variable : 28
The value of extern variables x and b : 32,8
The value of modified extern variable x : 15
Nach dem Login kopieren

statisch

Statische Variablen werden nur einmal initialisiert. Der Compiler behält diese Variable bis zum Ende des Programms. Statische Variablen können innerhalb oder außerhalb einer Funktion definiert werden.

Scope – Sie sind lokale Variablen für den Block.

Standard - > Der Standardinitialisierungswert ist Null.

Lebenszyklus - Bis zum Ende der Programmausführung.

Hier ist ein Beispiel für eine statische Variable in C,

Beispiel

Live-Demonstration

#include <stdio.h>
int main() {
   auto int a = -28;
   static int b = 8;
   printf("The value of auto variable : %d</p><p>", a);
   printf("The value of static variable b : %d</p><p>",b);
   if(a!=0)
   printf("The sum of static variable and auto variable : %d</p><p>",(b+a));
   return 0;
}
Nach dem Login kopieren

Ausgabe

The value of auto variable : -28
The value of static variable b : 8
The sum of static variable and auto variable : -20
Nach dem Login kopieren

register

Registervariablen weisen den Compiler an, die Variable in einem CPU-Register statt im Speicher zu speichern. Häufig verwendete Variablen werden in Registern gespeichert, wo sie schneller zugänglich sind. Wir können niemals die Adressen dieser Variablen erhalten.

Geltungsbereich - Sie sind auf die Funktion beschränkt.

Standardwert - Der Standardinitialisierungswert ist Müll.

Lebensdauer - Bevor die Ausführung des Codeblocks endet, der ihn definiert.

Hier ist ein Beispiel für eine Registervariable in C:

Beispiel

Online-Demo

#include <stdio.h>
int main() {
   register char x = &#39;S&#39;;
   register int a = 10;
   auto int b = 8;
   printf("The value of register variable b : %c</p><p>",x);
   printf("The sum of auto and register variable : %d",(a+b));
   return 0;
}
Nach dem Login kopieren

Ausgabe

The value of register variable b : S
The sum of auto and register variable : 18
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSpeicherklassen in C. 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