Funktionen in C, Globale und lokale Variablen
Kategorie: MikrocontrollerIn einem der vergangenen Artikel habe ich ja schon gezeigt, welche Variablen es in der Programmiersprache C gibt.
Beim Umgang mit Variablen und Funktionen stellt sich häufig die Frage, auf welche Variablen kann eine Funktion zugreifen, mit welchen Variablen kann eine Funktion arbeiten.
Wozu Gültigkeitsbereiche
Häufig möchte man gar nicht, dass jede Variable von jeder Funktion änderbar ist. Stell Dir vor mehrere Programmierer arbeiten an einem Projekt und müssten sich einigen, wer denn seine Inter-Variable „i“ nennen darf.
Oder noch schlimmer: Man nutzt Funktionen aus einem anderen Projekt und müsste bevor man selbst programmiert, alle Programme durchforsten ob die Variable „Wert“ schon einmal genutzt worden ist.
Um dies zu verhindern unterscheidet man zwischen globalen Variablen, die global, also im gesamten Programm gelten und lokalen Variablen, die einen beschränkten Gültigkeitsbereich haben.
Speicherorte von Variablen
Welche Variablen global sind und welche lokal sind, versteht man am besten, wenn man sich einmal anguckt, in welche Speicherbereiche die Variablen vom Compiler/Linker bzw. vom Mikrocontroller abgelegt werden.
Globale Variablen kann der Compiler bei der Erstellung des Programms in den Datenbereich ablegen. Bei lokalen Variablen ist bei der Übersetzung des Programms nicht bekannt, wie häufig (oder ob überhaupt) diese Variablen benötigt werden.
Im folgenden Video zeige ich daher zunächst, wie der Compiler bzw. während der Ausführung der Mikrocontroller Variablen behandelt.
Nachdem Du nun gesehen hast, wo Compiler und Mikrocontroller die Variablen verwalten, möchte ich im nächsten Video einige Beispiele zeigen.
Am besten ist nun, Du rufst auf Deinem PC die Entwicklungsumgebung auf und testet selbst einmal die Gültigkeitsbereiche von Variablen.
Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]
ET-Tutorials weiterempfehlen
Hat Dir der Artikel gefallen?Dann unterstütze ET-Tutorials.de mit einer Empfehlung per Email an Deine Freunde .
Hinweis zum Datenschutz: Ich kann weder Deine noch die Email-Adresse Deiner Freunde sehen.
Ähnliche Artikel
Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:» Programmierung eines Kaffeeautomaten – Teil 2
» Datentypen und die formatierte Ausgabe mit printf
» Arrays
» Download und Installation von uVision4/Keil
» Variablenzuweisung und modulo-Funktion
Mein Name ist Wolfgang Bengfort. Ich bin Lehrer für Elektrotechnik und Technische Informatik und habe im September 2009 diese Seite gestartet. 


Hallo und vielen Dank für die Videos.
Wir haben zwar in der Schule auch gelernt, dass man auf lokale Variablen nur innerhalb einer Funktion zugreifen kann, aber nicht warum?
Das mit dem Stack ist eine gute Erklärung. Danke!