Hallo und willkommen zurück. In diesem Vortrag möchte ich über konstante Zeichenfolgen sprechen.
Wir wissen, dass String-Literale oder eine String-Konstante in doppelten Anführungszeichen stehen.
Aber was ist mit der Variablen selbst? Wie können Sie sicherstellen, dass die
Variable diesen Wert niemals ändern kann?
Dies wird als Konstante bezeichnet. Daher ist in Ihrem
Programm manchmal eine konstante Zeichenfolge erforderlich, bei
der Sie nicht möchten, dass sich die Werte Ihrer Variablen jemals ändern.
Wenn wir zum Beispiel einen Umfang einer Berechnung erstellen, würden
wir 3 tun. 14159 mal Durchmesser.
3. 14159 ist eine Konstante. Es ändert sich nie.
Es repräsentiert pi.
Es wäre also sehr schön, wenn wir anstelle dieser magischen Zahl eine
Variable verwenden und sicherstellen könnten, dass sich diese Variable niemals ändert.
Es gibt also gute
Gründe, eine symbolische Konstante zu verwenden, anstatt jedes Mal nur die Zahl einzugeben.
Zunächst einmal sagt Ihnen ein Name viel mehr als eine Zahl.
Geschuldet ist gleich 0. Das 015-fache des Hauswerts ist
viel weniger aussagekräftig als der geschuldete Wert, der dem Steuersatz mal dem Wert entspricht.
Wir wollen also Variablennamen, die Zahlen darstellen,
die sich nie ändern.
Wenn Sie ein langes Programm
durchlesen, ist die Bedeutung der zweiten Vision-Version viel klarer.
Es ist viel einfacher, diesen Code zu betrachten und diese 0 zu verstehen. 015 steht für den Steuersatz.
Angenommen, Sie haben eine Konstante an mehreren Stellen
verwendet und müssen ihren Wert
ändern. Sie müssten diesen Wert überall im Programm ändern, anstatt ihn
nur an einer Stelle zu ändern, an der Sie diese Konstante definieren.
Ich habe früher darüber gesprochen, als ich den Begriff magische Zahlen verwendete.
Darauf wird Bezug genommen.
Wenn Sie eine in einem Programm verwendete Zahl sehen, die nicht in einer Variablen
gespeichert ist, ist es normalerweise am besten, diese Zahl zu erstellen und in eine Konstante zu setzen.
Denn wenn Sie es dann mehrmals verwenden und sich
diese Variable ändert, müssen Sie es
nur einmal ändern. Sie müssen es nicht überall ändern, wo Sie es verwenden.
Vermeiden Sie also magische Zahlen und verwenden Sie Konstanten.
Eine Möglichkeit, eine Konstante in c zu definieren, besteht darin,
die Präprozessor-Direktive zu definieren.
Mit dieser Präprozessor-Direktive können Sie Konstanten definieren, und ich
habe sie tatsächlich in einigen Programmen verwendet. Ich versuche jetzt zu helfen, es zu erklären.
Wenn Sie also einen Steuersatz festlegen möchten und
dieser eine Konstante ist, können Sie mit dem Pfundzeichen davor definieren.
Wir wissen, dass es sich aufgrund des Nummernzeichens um eine Präprozessor-Direktive handelt, und
dann würden wir den Namen und dann den Wert sagen.
Wenn Ihr Programm kompiliert ist, wird der Wert 0. 015 wird überall dort
eingesetzt, wo Sie den Steuersatz verwendet haben, genau wie eine
Variable, aber es ist eigentlich keine Variable.
Sie können dem keine anderen Werte zuweisen.
Wenn es sich um eine Variable handelt, können Sie ihr
Daten zuweisen, in diesem Fall jedoch nicht, da es sich um einen Präprozessor handelt.
Die Präprozessor-Direktive besagt also, dass Sie keine Daten zuweisen können, und
geben dies mit der Definition an.
Beachten Sie daher die Syntax dafür. Sie haben das Pfund-Symbol gefolgt von einem definierten Schlüsselwort.
Und danach haben Sie Ihren Namen.
Wir verwenden keine Zuweisungsoperatoren.
Wir haben nur unseren Namen und dann das Leerzeichen und dann den Wert.
Um dieser Definition einen Wert zuzuweisen, benötigen Sie lediglich ein Leerzeichen.
Am Ende steht kein Semikolon. Es ist keine Aussage. Es ist sehr spezifisch.
Was hier passiert, ist, dass für diese Präprozessoren
eine Kompilierungszeit-Substitution stattfindet. Der Präprozessor wird ausgeführt, bevor sich der Compiler daran erinnert.
Der Präprozessor wird ausgeführt und diese definierten Übertragswurzeln werden angezeigt. Und überall dort, wo ein Steuersatz angezeigt wird,
wird nur 0 eingegeben. 015 für den Compiler.
Definierte Anweisungen können an einer beliebigen Stelle im Programm angezeigt werden.
Es gibt keine lokale Definition. Sobald Sie eine Definition haben, kann
jeder sie verwenden.
Die beste Vorgehensweise oder Konvention besteht normalerweise darin, die definierten
Anweisungen am Anfang des Programms oder
in einer Include-Datei zu platzieren, wenn Sie mehr
als eine Quelldatei freigeben möchten, dies aber nicht tun müssen.
Da es auf dem Präprozessor ausgeführt
wird, hat es keinen Gültigkeitsbereich, keinen lokalen oder globalen Bereich.
Sie können es einfach überall platzieren. Und überall im Programm können Sie es sehen,
auch wenn es verwendet wird, bevor es definiert ist.
Definierte Anweisungen sind auch sehr gut, da sie dazu beitragen, Ihre Programme portabler zu machen.
Manchmal können Sie eine definierte Anweisung verwenden und sie auf einen bestimmten Computer beziehen, auf dem Sie ausgeführt
werden, während das Programm ausgeführt wird, und genau diesen Wert erhält sie.
Die definierte Anweisung kann auch für Zeichen und Zeichenfolgenkonstanten verwendet werden, nicht
nur für Zahlen. Wenn wir so etwas machen wollten, absolut gültig.
Sie schließen die einzelnen Zeichen einfach in ein einfaches Anführungszeichen ein.
Und wenn Sie tatsächlich ein ganzes String-Literal einfügen möchten, setzen
Sie es einfach in doppelte Anführungszeichen. Und genau das macht dieser Hoppla.
Eine andere Möglichkeit, Konstanten zu erstellen und zu sehen, ist
ein neuerer Mechanismus. C90 fügte im Grunde einen anderen Weg
hinzu, der den konstanten Modifikator bereitstellt.
Mit dem Schlüsselwort constant können Sie eine Deklaration für eine Variable in eine Deklaration für eine Konstante konvertieren.
Auf diese Weise können Sie diese Variable niemals ändern. Sie sagen also nur const und
dann den Namen, den Datentyp und dann den Namen der Variablen.
Und was dies in diesem Beispiel bewirkt, wird nun Monate zu einer symbolischen Konstante für 12 machen.
Wir nennen es keine Variable, weil sich eine Variable ändern
kann. Deshalb heißt sie Variable.
Sie haben Konstanten oder Variablen
und Konstante in Monaten ist keine Variable, ändert sich nicht.
Konstante macht Monate zu einem schreibgeschützten Wert.
Sie können Monate anzeigen und in Berechnungen verwenden. Sie können den Wert von Monaten nicht ändern.
Konstanten sind daher wichtig, wenn Sie nicht möchten, dass sich Daten
ändern, und sie können auch magische Zahlen ersetzen.
Const ist ein neuerer Ansatz und flexibler als die Verwendung von define.
Hier können Sie einen Typ deklarieren.
Es hat auch eine bessere Kontrolle darüber, welche
Teile eines Programms die Konstante verwenden können.
Sie sollten also konstant verwenden, wann immer Sie können, aber Sie werden viele
Programme sehen, die definiert verwenden, da dies der erste Mechanismus war.
Es gibt auch eine dritte Möglichkeit, eine Konstante zu erstellen,
und zwar unter Verwendung der Aufzählung. Denken Sie daran, wir haben über Aufzählungen gesprochen.
Aufzählungen sind eine Möglichkeit, einen eigenen
Variablentyp zu erstellen, dem nur bestimmte Daten zugeordnet sind. Sie können den Wert von Aufzählungen nicht ändern.
Sobald Sie eine Aufzählung definiert haben, müssen diese Werte vorhanden sein.
Es kann unterschiedliche Werte haben, aber es
ist immer noch eine Art Weg, eine symbolische Konstante zu erstellen, nicht eine vollständige, sondern eine Art Weg.
Mit const können Sie auch ein Zeichenarray initialisieren und als Konstante deklarieren. Dies
ist eine gute Möglichkeit, Standardnachrichten zu verarbeiten.
Wenn Sie also sagen, dass die Nachricht const char gleich dem Ende der Welt
ist, wird die Nachricht als Konstante deklariert und davor geschützt, jemals explizit
in Ihrem Programm geändert zu werden. Jeder Versuch, eine Nachricht durch Ausführen einer
str-Kopie zu ändern, führt zu einer Fehlermeldung des Compilers.
Und jetzt können Sie dies für eine Standardnachricht verwenden, die in verschiedenen
Teilen des Programms als Ausgabe angezeigt werden kann.
Die Technik zum Definieren von Standardnachrichten ist besonders nützlich, wenn sie an vielen
Stellen verwendet werden, wie ich bereits erwähnt habe.
Verhindert versehentliche Änderungen solcher Konstanten in anderen Teilen des Programms,
genau wie magische Zahlen.
Konstanten, die Sie in Ihrem Programm verwenden
möchten, also zwei Möglichkeiten, sie im Wesentlichen zu verwenden: Verwenden
Sie das Schlüsselwort define und das Schlüsselwort const.
Bitte beachten Sie dies.
Sie können es in einigen kommenden Beispielen sehen.
Vielen Dank.