C Grundkurs

Statische Variablen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Statische Variablen existieren über das Ende einer Funktion hinaus und erlauben die Weitergabe von Informationen zwischen einzelnen Funktionsaufrufen.
03:05

Transkript

In diesem Video beschäftigen wir uns mit so genannten statischen Variablen. STATIC werden diese deklariert. Wir schauen uns erst einmal ein Beispiel mit einer rein lokalen Variable an. Ich habe hier eine Funktion RECHNE. Dort gibt es eine Variable I. Die wird mit dem Wert 0 initialisiert. Dann wird der Wert von I zurückgegeben und I erhöht. Ich rufe hier diese Funktion zweimal auf. Und wenn wir das laufen lassen, sehen Sie beide Male wird der Wert 0 ausgegeben. Das ist auch relativ offensichtlich, weil ich jedes Mal hier die Variable neu deklariere, dann zurück gebe und mit dem nachgestellten ++Operator erst anschließend die Variable I erhöhe. Nun ist die Lebenszeit einer lokalen Variable grundsätzlich auf den Block beschränkt, wo diese Variable deklariert ist. Und anders ausgedrückt: Sobald die Abarbeitung von diesem Unterprogramm, dieser Funktion beendet ist, erlischt die Lebenszeit dieser Variable. Und beim nächsten Aufruf dieser Funktion werden wieder sämtliche Anweisungen von diesem Unterprogramm durchgeführt. Also es wird wieder die Variable deklariert, initialisiert mit 0. Und das Prozedere geht von vorne los. Mit dem Schlüsselwort STATIC für statisch - fest, kann man aber eine Variable in der Lebenszeit verlängern. Das heißt, wenn die Funktion abgearbeitet ist, bleibt der Speicherbereich, den diese Variable belegt, erhalten und der letzte Wert darin bleibt auch erhalten. Wenn ich jetzt... dieses Programm erneut laufen lasse, sehen Sie, dass die Variable zuerst den Wert 0 und dann 1 hat. Ich habe also mit dem Schlüsselwort STATIC die Lebenszeit der Variable I über die Lebenszeit der eigentlichen Funktion, des Funktionslaufs hinaus erweitert. Der Speicherbereich bleibt fest, wird dem entsprechend bei einem erneuten Aufruf der Funktion nicht wieder neu belegt. Die Initialisierung findet also nicht statt. Und damit kann man mit mehreren Aufrufen der Funktion immer wieder auf diesen Speicherbereich zugreifen und gegebenenfalls einen COUNTER hoch zählen, oder sonst etwas über die Funktionsaufrufe hinaus erhalten. Gerade im Bezug auf spätere Erweiterungen von C in Richtung Objektorientierung wird dieses STATIC auch als Klassenelement bezeichnet und in der Bedeutung erheblich erweitert. Aber für reines C sollten Sie sich nur merken, dass man damit eine lokale Variable in der Lebenszeit über die Lebenszeit der Funktion, des Blocks hinaus erweitern kann.

C Grundkurs

Lernen Sie das Syntaxkonzept von C von Grund auf kennen vor und sehen Sie, wie mit einer geeigneten Entwicklungsumgebung Programme Schritt für Schritt entstehen.

4 Std. 36 min (70 Videos)
Im großen und Ganzen echt gut gemacht
Anonym

Finde die Videos hammer gut gemacht, helfen mir sehr beim lernen. Das einzige was mir fehlt ist eine Kommentarmöglichkeit. z.B. im Video "Mit Schleifen auf Arrays zugreifen" wurde zu Beginn int i=0 definiert, später in einer for-Schleife wurde i jedoch nochmal als 0 definiert. Ich weiß nun nicht ob eine der beiden Definitionen unnötig ist oder nicht. Dafür das Video neu zu machen bzw. ein Extravideo zu drehen wäre übertrieben. Wenn es jedoch eine Kommentarfunktion geben würde könnten dort solche Themen besprochen und abgeklärt werden. mfg Daniel Wachter FH Vorarlberg Mechatronik Studium 1. Semester

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!