Grundlagen der globalen Variablen in C-Programmierung

Manchmal in der C-Programmierung, muss eine Variable sein, wie Handy-Service: überall verfügbar. Die Variable kann auch durch jede Funktion jederzeit verwendet werden. Diese Art von Variable bezeichnet werden könnte ein Universal-

Menu

Variable. Es könnte genannt weltweit Variable. Aber in C, wird es als A bezeichnet global Variable.

Wie globale Variablen zu verwenden,

Globale Variablen lösen bestimmte Probleme, die durch die Deklaration von Variablen universal zu machen. Auf diese Weise kann jede Funktion überall im Programm kann auf die Variable zugreifen. Es muss nicht aus einer Funktion übergeben oder zurückgeschickt werden.

Ihr Alter Tossing Around zeigt, wie eine globale Variable deklariert und verwendet wird. Die globalen Variablen Alter und schweben werden von beiden Funktionen betroffen. Sie können auf diese Funktionen übergeben werden, aber beide Werte können nicht zurückgegeben werden. (C-Funktionen geben nur einen Wert.) Daher ist die globale Variable als eine Lösung verwendet wird.

Tossing IHR ALTER UM

# include Leere Hälfte (void) -Lücke zweimal (void) -int alters float Füße-int main () {printf ( "Wie alt sind Sie:") -scanf ( "% d", Alter) -printf ( "Wie groß sind Sie (in Fuß): ") -scanf ("% f ", Fuß) -printf (" Sie sind% d Jahre alt und% .1f Meter hoch n ", Alter, Fuß) -die Hälfte () -. (zweimal) - printf ( ". Aber du bist nicht wirklich% d Jahre alt oder% .1f Meter hoch n", Alter, Fuß) -return (0) -} void Hälfte (void) {float a, ha = (float) Alter / 2.0-printf h = Fuß / 2,0-printf ( "Half Ihre Höhe ist% .1f. n", h) (ein "halb so alt ist% .1f. n") -} nichtig zweimal (void) {Alter * = 2-printf ( "doppelt so alt ist% d. n", Alter) -feet * = 2-printf ( "zweimal Ihre Höhe ist% .1f n", Füße) - }

Zeile 6 deklariert das globale int-Variable Alter und die Gleitkommavariable Füße. Dies sind globale Variablen, weil sie außerhalb einer Funktion deklariert sind, dort oben in #include, #define und Prototyping Land. Die Variablen werden dann in jeder Funktion verwendet. Ihre Werte können über den gesamten Code zugegriffen werden. Selbst wenn diese Werte in die zweimal () Funktion geändert werden, verwendet der Funktion main () die neuen Werte.

Beachten Sie, dass zwei printf () Anweisungen in der Funktion main () wickeln ihren Text in Tossing Ihr Alter Around. Sie brauchen nicht, diese Aussagen in einem Text-Editor- zu wickeln Sie sie einfach tippen alle auf einer einzigen Zeile.

Übung 1: Geben Sie den Quellcode für Tossing Ihr Alter Around in Ihren Editor, ein neues Programm zu erstellen. Erstellen und ausführen.

Seien Sie nicht faul über globale Variablen verwenden! Wenn Sie einen Wert an eine Funktion kann tun! Es ist richtig. Zu viele indolent Programmierer erklären alle Variablen global # # 147 das Problem zu lösen. 148- Das ist schlampig und unpassend.

Gute Beispiele für globale Variablen enthalten Informationen, dass alle Funktionen des Programms sollten wissen, wie Benutzerinformationen oder ob Sie online oder ob der Text angezeigt oder ausgeblendet. In diesem Fall sollten Sie stattdessen die Variablen global zu machen.

Wie eine globale Struktur Variable zu erstellen

Ein besseres Beispiel für eine globale Variable verwendet, und eine Situation, wo globale Variablen vollständig notwendig sind, ist, wenn eine Struktur an eine Funktion. In diesem Fall müssen Sie die Struktur als global deklarieren, so dass alle Funktionen der Variablen dieses Strukturtyp zugreifen können.

Sie nicht die massive Länge können Sie eine Struktur, um eine Funktion einschüchtern von Vorbei! Die meisten von den # 147-real # 148- Programme, die Sie schließlich wird weit mehr schreiben!

PASSING eine Struktur FUNKTION

# include # include # include #define SIZE 5struct bot {int xpos-int ypos -} - struct bot initialize (struct bot b) -int main () {struct Bot Roboter [SIZE] -int x-srandom ((unsigned) Zeit (NULL)) - zu (x = 0-x

Um eine Struktur an eine Funktion, muss die Struktur global deklariert werden, die zwischen den Linien 7 und 10 passiert, dass sogar passieren muss, bevor die Funktion prototypisiert ist, der Ort, an Linie 12 nimmt.

Die Funktion initialize () läuft von Zeilen 30 bis 41. Die Struktur an die Funktion und zurückübergeben wird. Beachten Sie, dass die Strukturvariable muss vollständig als Argument definiert werden. Am 30. Zeile, wird die Funktion der Variablenname angegeben b innerhalb der Funktion.

Die return-Anweisung in Zeile 40 übergibt die Struktur zurück an die aufrufende Funktion. Tatsächlich ist die Initialize () Funktion als Struktur bot Funktionstyp definiert. Das ist die Art von Wert, den es gibt.

Übung 2: Schrauben Sie Ihren Mut zum Aufkleben Platz, und geben Sie alle diese Zeilen Quellcode von Geben einer Struktur zu einer Funktion in Ihren Editor. Erstellen und ausführen.

Der Ausgang zeigt, wie die Struktur-Array übergeben wurde (zu einer Zeit ein Element) auf eine Funktion, in der Funktion geändert, und dann zurückgegeben.

Menü