Wie man Statische Variablen in C-Programmierung

In der C-Programmierung, die innerhalb einer Funktion verwendeten Variablen sind lokal zu dieser Funktion: ihre Werte verwendet und dann verworfen, wenn die Funktion ausgeführt wird. Do not Give Me No Statisch veranschaulicht das Konzept.

Geben Sie nicht mir keine STATISCH

# include Leere proc (void) -int main () {puts ( "First Call") - proc () - puts ( "Zweitanruf") - proc () - return (0) -} void proc (void) {int a-printf ( "der Wert der variablen a% d n", a) -printf ( "einen neuen Wert eingeben:") -scanf ( "% d", a) -}

In Gib mir nicht Nein Statisch, Variable ein in der proc () Funktion nicht behalten ihren Wert. Die Variable wird 20. Ansonsten werden nur durch die scanf () Funktion bei Line initialisiert die Variable Junk-Informationen enthält.

VERWENDUNG TYPEDEF DEFINIEREN STRUKTUR

typedef struct id {char erste [20] -char letzten [20] -} personal-typedef struct {int Datum Monat-int Tag-int Jahre} Kalender-Strukt menschlichen {persönlicher Name-Kalender Geburtstag -} -

Übung 1: Erstellen und ein neues Projekt mit dem Source-Code ausführen Arbeiten mit typedef So definieren Sie eine Struktur.

er Ausgabe sieht wie folgt aus:

Erste callThe Wert der Variablen a 0Enter ein neuer Wert: 6Second callThe Wert der Variablen a 0Enter ein neuer Wert: 6

Trotz aller Versuche bis 6 Variablen zuweisen ein, das Programm immer vergisst. So viel dazu. Oder ist es?

Übung 2: Ändern Sie den Quellcode von Verwendung typedef eine Struktur zu definieren, 16 Editierzeile zu lesen:

static int a-

Erstellen Sie und führen Sie den Ausgang zu testen.

Erste callThe Wert der Variablen a 0Enter ein neuer Wert: 6Second callThe Wert der Variablen a 6Geben ein neuer Wert: 5

Da die Variable als statisch deklariert wurde, wird sein Wert zwischen Funktionsaufrufen beibehalten.

  • Sie haben keine Notwendigkeit Variablen als statisch zu deklarieren, wenn Sie ihre Werte müssen jedes Mal behielt die Funktion aufgerufen wird, und diese Situation Kulturen von Zeit zu Zeit in Anspruch. Doch bevor es zu glauben, eine magische Heilung zu sein, sollten Sie auch globale Variablen zu erstellen.

  • Variablen aus einer Funktion zurück brauchen nicht statisch deklariert werden. Wenn Sie eine Variable zurückgeben, wie

    Rückkehr (a) -

    nur den Wert der Variablen zurückgegeben wird, nicht die Variable selbst.

Menü