Heim  >  Artikel  >  Wozu dienen statische Variablen in der C-Sprache?

Wozu dienen statische Variablen in der C-Sprache?

清浅
清浅Original
2019-05-05 16:42:0420396Durchsuche

Die Rolle statischer Variablen in der C-Sprache besteht darin, den Wert während des Funktionsaufrufs unverändert zu lassen, da statische Variablen jedoch eine Speicherfunktion haben, ihr Umfang jedoch begrenzt ist und nur von Funktionen innerhalb des Moduls darauf zugegriffen werden kann. usw. .

Wozu dienen statische Variablen in der C-Sprache?

Empfohlen: „c-Tutorial

Die Rolle statischer Variablen in der C-Sprache ist: statisch Variablen Es verfügt über eine Speicherfunktion und behält den Wert während des Funktionsaufrufs unverändert. Der Umfang ist begrenzt und kann nur von Funktionen innerhalb des Moduls usw. aufgerufen werden.

Wozu dienen statische Variablen in der C-Sprache?

In der C-Sprache bedeutet das Schlüsselwort static statisch und hat drei offensichtliche Funktionen:

1 Im Funktionskörper haben statische Variablen einen Memory-Effekt , das heißt, der Wert einer als statisch deklarierten Variablen bleibt während des Aufrufs dieser Funktion unverändert.

2. Innerhalb eines Moduls (aber außerhalb einer Funktion) ist sein Gültigkeitsbereich begrenzt. Wenn eine Variable als statisch deklariert ist, kann auf die Variable von allen Funktionen im Modul zugegriffen werden, von anderen jedoch nicht Funktionen außerhalb des Moduls.

3. Interne Funktionen sollten in der aktuellen Quelldatei beschrieben und definiert werden. Für Funktionen, die außerhalb der aktuellen Quelldatei verwendet werden können, müssen Quelldateien beschrieben werden, die diese Funktionen enthalten diese Header-Datei.

Eigenschaften statischer Datenelemente:

1 Für nicht statische Datenelemente verfügt jede Klasse über eine eigene Kopie. Statische Datenmitglieder werden als Mitglieder der Klasse behandelt. Unabhängig davon, wie viele Objekte dieser Klasse definiert sind, gibt es im Programm nur eine Kopie der statischen Datenelemente, die von allen Objekten dieses Typs gemeinsam genutzt wird und auf die sie zugreifen.

2. Statische Datenelemente werden im globalen Datenbereich gespeichert. Beim Definieren muss Speicherplatz zugewiesen werden, daher kann er nicht in der Klassendeklaration definiert werden. Da statische Datenelemente von allen Objekten dieser Klasse gemeinsam genutzt werden, gehören sie nicht zu einem speziellen Klassenobjekt. Wenn kein Klassenobjekt generiert wird, ist sein Gültigkeitsbereich sichtbar, d. h. Programmierer können es auch verwenden, wenn keine Instanz der Klasse vorhanden ist generiert.

3. Statische Datenmitglieder entsprechen auch den öffentlichen, geschützten und privaten Zugriffsregeln.

4. Die Initialisierung statischer Mitgliedsvariablen erfolgt außerhalb der Klasse und das Schlüsselwort static kann derzeit nicht verwendet werden. Obwohl die statischen Mitglieder von private und Protect außerhalb der Klasse initialisiert werden können, kann außerhalb der Klasse nicht auf sie zugegriffen werden.

Vorteile statischer Datenelemente:

1. Statische Datenelemente gelangen nicht in den globalen Namensraum des Programms, sodass keine Möglichkeit eines Konflikts mit anderen globalen besteht Namen im Programm.

2. Das Ausblenden von Informationen kann erreicht werden. Statische Datenelemente können private Elemente sein, globale Variablen jedoch nicht.

#include<stdio.h>
#include <iostream>
#include "a.h"
using namespace std;
void fun(int i)
{    static int value = i++;
    cout<<value<<endl;
}int main()
{
    fun(0);
    fun(1);
    fun(2);    return 0;
}

Laufergebnisse

0
0
0

Das obige ist der detaillierte Inhalt vonWozu dienen statische Variablen in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Was ist ein Workflow?Nächster Artikel:Was ist ein Workflow?