[Powered by Google Translate] Joe McCormick: So, jetzt werden wir über Variablen sprechen. Variablen in der Informatik sind ein Weg, um einen Wert zu speichern. Nun, was und wie wir speichern, Wert ist nicht allzu wichtig. Wir können einen Wert haben, ein Wort, das könnte als Zeichenfolge gespeichert werden. Oder wir könnten etwas haben, das ein Zeichen ist, wie der Buchstabe a. Und das wäre als char gespeichert werden. Wir könnten eine Nummer, wie ein oder 12, das wäre gespeichert als integer oder ein int. Dann haben wir verschiedene Dinge wie ein Schwimmer, die speichern kann Dinge wie 1,01 oder 111,13. Diese Werte werden immer dann aufgerufen, veränderlich. Was bedeutet, dass, wenn wir die Nummer eins in einem Integer gespeichert unter die Spitze eines Programms später, konnten wir diese Zahl zu ändern werden drei oder sieben. Nun ist eine lokale Variable, was Sie in der Regel auftreten, bei der Ausführung einer Funktion. Lassen Sie uns also sagen, du bist in Ihrer Hauptfunktion. Und Sie wollen eine Variable namens num erstellen. Und wir werden eine ganze Zahl im zu speichern. So könnten wir sagen, so etwas wie int num = 3. Jetzt kann es losgehen. Sie haben eine lokale Variable. Jetzt können diese Variable später geändert werden in der Haupt- Funktion, indem er sagte etwas wie num = 6 oder num = 7. Aber Ihre Variable wird innerhalb der fest Anwendungsbereich dieser Funktion. Und der Umfang beginnt in der Regel mit der geschweiften Klammer an der Anfang des Haupt-und endet mit der geschweiften Klammer, dass schließt sich die Hauptfunktion. Und diese lokale Variable wird nun in diesem Rahmen stecken. So kann es nicht mehr in einer anderen Funktion zugegriffen werden kann, außerhalb der main-Funktion. Und wenn die Hauptfunktion beendet seine Ausführung und kehrt, wird diese lokale Variable namens num gegangen. So im Gegensatz zu lokalen Variablen, wir haben etwas als globale Variablen. Nun wird eine globale Variable an der Spitze das erklärte Programm und können überall im Programm zugegriffen werden. So sagen wir Ihnen erklärt, eine globale Variable an der Spitze Ihr Programm namens test. Nun könnte diese Variable zugegriffen werden überall im Programm. Man konnte es in der Haupt-Funktion oder eine Funktion zugreifen darunter. Aber wenn Sie jemals versucht, eine lokale Variable erstellen in einem diese Funktionen mit dem gleichen Namen wie Test, gibt es einen Konflikt. Weil Sie nicht wissen, welche Variablen, die Sie verwenden möchten. Wollen Sie die globale Test verwenden, erklärte auf dem Top-Programm? Oder wollen Sie die lokale Variable Test, verwenden Sie versuchen, innerhalb dieser Funktion erstellen? Nun, dies ist einer der Gründe, warum wir nicht wollen, einfach globale Variablen frei. Es gibt so etwas wie die Übersichtlichkeit des Namensraums. Auch wenn Sie nicht zu tun bedeutet, können Sie versehentlich erstellen Sie eine lokale Variable, später in dem Programm, mit dem gleichen Namen wie die globale Variable. Und das stellt kein großes Problem, wenn man in der Arbeit kleine 10, 20, 30-line-Programme. Wenn Sie bis zu Tausenden von Zeilen Code haben, werden Sie nicht genau erinnern, was Sie für die globale Variable gespeichert. So eine Sache zu prüfen, wenn Sie lokale und globale Variablen über deren Umfang zu denken. Nun bezieht Rahmen, wo diese Variablen können in verwendet werden das Programm. So eine globale Variable ist, was globale Reichweite genannt, was bedeutet, dass es überall konnte im Programm verwendet werden. Sobald Sie initialisieren die Variable, kann es in verwendet werden jede Funktion, ob es die Hauptfunktion oder sein Funktion 10 Funktionen nieder, rief foo10. Es spielt keine Rolle, wo Sie es verwenden. Aber eine lokale Variable spezifischen Anwendungsbereich. Und die Tragweite dieser lokalen Variablen wird bestimmt durch wo es initialisiert wird. Nun wird der Anwendungsbereich typischerweise durch die Öffnung bestimmt Klammer von der Funktion, die die Variable in deklariert wird, bis Die schließende Klammer dieser Funktion. Lassen Sie uns also sagen, du bist in der Funktion main. Und Sie schaffen eine Variable. Aber jetzt, in diesem Hauptfunktion, nennen wir ein weiteres funktionieren foo. In der Funktion foo, können wir nicht nennen die Variable wir nur geschaffen, in der Hauptfunktion, weil es nicht in Reichweite. Diese Variable ist nur im Umfang innerhalb der main-Funktion. So konnten wir es weiter zu verwenden, innerhalb der Hauptfunktion, sondern nicht innerhalb einer Funktion, die von der Haupt-Funktion aufgerufen wird. So wie der Stack und dem Heap, sind globale Variablen gelagert in einem bestimmten Teil des Speichers. Nun hängt dieser Teil des Speichers auf dem System, Sie verwenden. Die globalen Variablen haben zwei getrennte Flecken, sie sind gespeichert, eine für globale Variablen initialisiert, wie wenn Sie hatte int test = 5, an der Spitze des Programms erklärt. Und der andere Bereich ist für initialisiert sind globale Variablen, wenn Sie gerade gesagt, int Test, an der Spitze des Programms und wollte die Test-Variablen später im Programm. So, jetzt werde ich über etwas namens # define reden, das ist ein Weg, um einen symbolischen Namen auf einen konstanten geben. Und hier haben wir ein Beispiel für ein C-Programm, das berechnet die Fläche eines Kreises. Und an der Spitze des Programms werden wir tun etwas, das sagt # Define pi 3,14159. # Define nicht technisch eine globale Variable. Vielmehr erzählt es der Compiler Präprozessor zu Suchen und Ersetzen Sie alle Instanzen von pi 3,14159 vor dem Kompilieren. Dennoch wird es eine nützliche Technik zum Deklarieren Konstanten, für die Verwendung im gesamten Programm. Nun Betrachtung der Flächenfunktion, nimmt es in einem Schwimmer rad und gibt einfach die Fläche eines Kreises mit dem Radius oder pi r quadriert oder pi mal rad mal rad. Und das ist, wo der # define spielt eine wichtige Rolle. Da der Compiler wird grundsätzlich zu ersetzen, dass pi Symbol mit der Anzahl 3,14159. Und so haben wir nicht zu, dass immer und immer wieder schreiben. Und später, wenn wir eine weitere Ziffern von Pi verwenden möchten, lassen Sie uns sagen, 3.1415926, konnten wir nur hinzufügen, dass an die Spitze der Programm und würde es nicht zu ändern, später im Programm. Dies ist eine gute Verwendung von # define. Wir wollen nicht pi als globale Variable zu speichern, weil es konnte später im Programm. Und wir wissen, pi nicht ändern. Es ist eine Konstante. Also das hüllt unser Thema der globalen Variablen. So verfügen wir heute sprach über den Unterschied zwischen lokalen und globale Variablen, wann sie zu verwenden, abhängig von ihrer Umfang und warum nicht auf globale Variablen am Willen verwenden weil Poltern des Namensraums. Ich bin Joe McCormick. Und dies ist CS50.