Einführung in das statische Schlüsselwort in C

Das statische Schlüsselwort in C unterscheidet sich dahingehend, dass es ein Schlüsselwort ist, das sowohl mit Variablen als auch mit Funktionen verwendet werden kann. Daher ist es dringend erforderlich, eine Abgrenzung für beide zu erhalten, um die tatsächlichen Merkmale oder das Verhalten des Schlüsselworts speziell in Bezug auf die C-Sprache zu ermitteln. Für Anfänger ist es etwas schwierig, das vollständige Verständnis so gründlich zu erlangen, dass wir die Syntax durcharbeiten, die tatsächliche Funktionsweise in C und einige zu befolgende Normen und Regeln, da es etwas verwirrend sein kann, zu ermitteln, wann sie verwendet werden sollen Gültigkeitsbereich der Variablen und Verwendungszweck für den Gültigkeitsbereich des Funktionsblocks.

Syntax

1. Syntax des statischen Schlüsselworts in C beim Definieren einer Variablen:

static
static
Examples of syntax for static variables:
static int run = 0;
int static sleep = 0;

2. Syntax des statischen Schlüsselworts in C beim Definieren einer Funktion:

static
static
Examples of syntax for static functions:
static void run ()
(
)
void static sleep ()
(
)

Wie funktioniert das statische Schlüsselwort in C?

Grundsätzlich gibt es zwei Möglichkeiten, wie das statische Schlüsselwort in Bezug auf C funktioniert.

  • Das statische Schlüsselwort in einer Funktion.
  • Das statische Schlüsselwort außerhalb einer Funktion.

1. Statisches Schlüsselwort innerhalb einer Funktion

Die Deklaration der Variablen innerhalb einer Funktion hängt mit der Kompilierungszeit und der Speicherdauer der Variablen innerhalb eines Funktionsaufrufs zusammen. In einfachen Worten, Variablen, die als statisch definiert sind, erweitern ihren Gültigkeitsbereich für mehrere Funktionsaufrufe und sobald sie deklariert sind, können sie ihren Gültigkeitsbereich nicht verlieren, bis das Ende der Programmausführung abgeschlossen ist. Es beginnt, seinen Gültigkeitsbereich zur Kompilierungszeit selbst zu definieren.

Beispiel

# include
int main ()
(
run ();
run ();
run ();
)
void run ()
(
static int running = 0;
++running;
printf ("The function \"run\" was called %d times.\n", running);
)

Ausgabe:

2. Statisches Schlüsselwort außerhalb einer Funktion

Sobald das Schlüsselwort static außerhalb einer Funktion deklariert wird, wird der Gültigkeitsbereich der Variablen begrenzt und nur für die aktuelle Datei sichtbar. Dies bedeutet, dass der Gültigkeitsbereich der Funktion auf die Quelldatei selbst beschränkt wird. Der Zugriff auf diese statische Variable oder Funktion wird von einer anderen Quelldatei eingeschränkt.

Obwohl es als sinnvoll erachtet wird, eine Funktion als statisch zu deklarieren, um die Datenkapselung für einen bestimmten Bereich zu vereinfachen. Personen mit OOP- oder Java-Hintergrund können dies leicht mit dem privaten und dem öffentlichen Schlüsselwort in Verbindung bringen.

Beispiel

Um Variablen in einer externen Funktion zu definieren, dh auf globaler Ebene, müssen wir mindestens ein statisches Schlüsselwort definieren.

Definieren Sie eine statische Variable in einer Quelldatei und dieselbe Variable in der zweiten Variablen in einer anderen Quelldatei.

Source1.c
static int sleep = 0;
Source2.c
static int sleep= 0;
static void sleep ()
(
static int sleeping = 0;
++ sleeping;
printf (“the function \ “sleep\” was called %d times.\n”, sleeping);
)

Ausgabe:

Angabe der Mindestgröße eines Array-Parameters

Es gibt eine sehr wichtige Verwendung, die wir ignorieren. Schauen wir uns das mal genauer an.

Wir können dem Compiler auch den Speicherparameter für die minimale Deklaration von Elementen innerhalb eines Array-Zeigers auf eine Funktion mitteilen. Dieser Fall wird aber sehr selten verfolgt (bis C99-Compiler verfolgt).

Beispiel

Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)
Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)

Grundsätzlich wird dadurch mitgeteilt, dass das Argument nicht null ist.

Regeln und Vorschriften für das statische Schlüsselwort in C

1. In Bezug auf die statische Variable

  • Eine statische Variable bleibt im Gegensatz zu automatischen und reservierten Schlüsselwörtern immer aktiv, wenn ein Programm ausgeführt wird.
  • Speicher und Speicherzuordnung erfolgen im Datensegment, nicht im Stapelsegment.
  • Wenn die Variable standardmäßig nicht mit einem Wert deklariert ist, wird sie vom Compiler explizit als 0 definiert.
  • Die Deklaration statischer Variablen erfolgt meist mit konstanten Literalen.
  • Es wird in erster Linie davon ausgegangen, dass wir keine statische Variable innerhalb einer Funktion definieren sollten, da dies das gesamte Funktionsmodul ein wenig komplexer macht.

2. In Bezug auf die statische Funktion

  • Die Deklaration der Variablen wird standardmäßig als global betrachtet. Daher wird sie durch die Verwendung eines statischen Schlüsselworts mit einer Funktion im Geltungsbereich eingeschränkt, indem der Geltungsbereich in derselben Quelldatei eingeschränkt wird.
  • Eine gute Eigenschaft, um die Funktion statisch zu machen, ist die Wiederverwendbarkeit, dh wir können dieselbe Funktion mehrmals aufrufen, wann immer dies zur Ausführung erforderlich ist.

Vorteile

  • Das Betrachten einer Variablen als statisch ist in dem Sinne vorteilhaft, dass es bei der Optimierung des gesamten Codeflusses hilft.
  • Wiederverwendbarkeit und Neudefinition helfen dem Compiler, eine Variable intern aufzurufen, ohne ein anderes Schlüsselwort wie extern zu dominieren.
  • Ein weiterer Vorteil besteht darin, dass die Lesbarkeit so verbessert wird, dass die Zukunft eine Bestätigung erhält, dass die Datei als statisch deklariert ist und für keine andere Datei oder Quelldatei zugänglich ist.
  • Es verhindert auch, dass eine Menge die c-Datei deklariert, dh als eine andere externe Variable deklariert.

Fazit

  • Der Begriff „statisch“ hat einen eigenen Trend, ob er als sinnvoll oder sinnlos angesehen wird. Die verschiedenen Programmiersprachen haben unterschiedliche Bedeutungen, die sich nur auf das statische Schlüsselwort beziehen. Objektorientierte Sprache, verhält sich mit einer Kapselungseigenschaft sehr schön.
  • In Bezug auf C, C # und C ++ hat es eine andere Natur. Einige betrachten die Verwendung von Static aufgrund der Vorteile wie Optimierung, Wiederverwendbarkeit und Bereichsbeschränkung als das Beste. Das meiste davon ist die Bestätigung der endgültigen lesbaren Datei.
  • Später, einschließlich einiger naiver Benutzer, kann leicht herausgefunden werden, ob zwei Quelldateien nicht übereinstimmen, indem der interne Inhalt der statischen Funktionen und der statischen Variablen wie durch den Kompilierungsfehler ermittelt wird.
  • In Bezug auf C wird dies jedoch nicht als sichere Methode angesehen, da die interne Kommunikation zwischen Threads unsicher und schwierig wird, da sie letztendlich zu einer globalen Variablen wird. Daher wird es in Bezug auf C manchmal als nicht so konventionell angesehen, das statische Schlüsselwort in C zu verwenden.

Empfohlene Artikel

Dies ist eine Anleitung zum statischen Schlüsselwort in C. Hier wird erläutert, wie das statische Schlüsselwort in C mit den Regeln und Vorschriften funktioniert. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -

  1. Variablen in C
  2. Eintauschen in C
  3. Mathematische Funktionen in C
  4. Reverse Number in C
  5. In PHP tauschen
  6. PHP-Schlüsselwörter
  7. Top 5 HTML-Ereignisattribute mit Beispielen