Ziel-C-Konstanten

Die Konstanten beziehen sich auf feste Werte, die das Programm während seiner Ausführung möglicherweise nicht ändert. Diese festen Werte werden auch genanntliterals.

Konstanten können von einem der grundlegenden Datentypen sein, z. B. eine Ganzzahlkonstante, eine Floating-Konstante, eine Zeichenkonstante oder ein Zeichenfolgenliteral . Es gibt auch Aufzählungskonstanten.

Das constants werden wie reguläre Variablen behandelt, außer dass ihre Werte nach ihrer Definition nicht mehr geändert werden können.

Ganzzahlige Literale

Ein ganzzahliges Literal kann eine Dezimal-, Oktal- oder Hexadezimalkonstante sein. Ein Präfix gibt die Basis oder den Radix an: 0x oder 0X für Hexadezimal, 0 für Oktal und nichts für Dezimal.

Ein ganzzahliges Literal kann auch ein Suffix haben, das eine Kombination aus U und L für unsigned bzw. long ist. Das Suffix kann in Groß- oder Kleinbuchstaben und in beliebiger Reihenfolge angegeben werden.

Hier sind einige Beispiele für ganzzahlige Literale -

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

Im Folgenden finden Sie weitere Beispiele für verschiedene Arten von Integer-Literalen:

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

Gleitkomma-Literale

Ein Gleitkomma-Literal besteht aus einem ganzzahligen Teil, einem Dezimalpunkt, einem Bruchteil und einem Exponententeil. Sie können Gleitkomma-Literale entweder in Dezimalform oder in Exponentialform darstellen.

Bei der Darstellung in Dezimalform müssen Sie den Dezimalpunkt, den Exponenten oder beides angeben. Bei der Darstellung in Exponentialform müssen Sie den ganzzahligen Teil, den Bruchteil oder beides einschließen. Der vorzeichenbehaftete Exponent wird durch e oder E eingeführt.

Hier einige Beispiele für Gleitkomma-Literale -

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

Zeichenkonstanten

Zeichenliterale werden in einfache Anführungszeichen gesetzt, z. B. 'x', und können in einer einfachen Variablen von gespeichert werden char Art.

Ein Zeichenliteral kann ein einfaches Zeichen (z. B. 'x'), eine Escape-Sequenz (z. B. '\ t') oder ein universelles Zeichen (z. B. '\ u02C0') sein.

Es gibt bestimmte Zeichen in C, wenn sie mit einem Backslash versehen werden. Sie haben eine besondere Bedeutung und werden zur Darstellung wie Zeilenumbruch (\ n) oder Tabulator (\ t) verwendet. Hier haben Sie eine Liste einiger solcher Escape-Sequenzcodes -

Fluchtabfolge Bedeutung
\\ \ Zeichen
\ ' 'Charakter
"" "Charakter
\? ? Charakter
\ein Alarm oder Glocke
\ b Rücktaste
\ f Formularvorschub
\ n Neue Zeile
\ r Wagenrücklauf
\ t Horizontale Registerkarte
\ v Vertikale Registerkarte
\ ooo Oktalzahl von ein bis drei Ziffern
\ xhh. . . Hexadezimalzahl aus einer oder mehreren Ziffern

Das folgende Beispiel zeigt einige Escape-Zeichen -

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"Hello\tWorld\n\n");
   return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:

2013-09-07 22:17:17.923 demo[17871] Hello	World

String-Literale

String-Literale oder Konstanten werden in doppelte Anführungszeichen "" eingeschlossen. Eine Zeichenfolge enthält Zeichen, die Zeichenliteralen ähnlich sind: einfache Zeichen, Escape-Sequenzen und universelle Zeichen. Sie können eine lange Zeile mithilfe von Zeichenfolgenliteralen in mehrere Zeilen aufteilen und diese durch Leerzeichen trennen.

Hier sind einige Beispiele für String-Literale. Alle drei Formen sind identische Zeichenfolgen.

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Konstanten definieren

In C gibt es zwei einfache Möglichkeiten, Konstanten zu definieren:

  • Verwenden von #define Präprozessor.

  • Verwenden von const Stichwort.

Der Präprozessor #define

Im Folgenden finden Sie das Formular, in dem Sie den Präprozessor #define verwenden, um eine Konstante zu definieren.

#define identifier value

Das folgende Beispiel erklärt es im Detail -

#import <Foundation/Foundation.h>

#define LENGTH 10   
#define WIDTH  5
#define NEWLINE '\n'

int main() {
   int area;
   area = LENGTH * WIDTH;
   NSLog(@"value of area : %d", area);
   NSLog(@"%c", NEWLINE);

   return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:

2013-09-07 22:18:16.637 demo[21460] value of area : 50
2013-09-07 22:18:16.638 demo[21460]

Das const-Schlüsselwort

Sie können verwenden const Präfix zum Deklarieren von Konstanten mit einem bestimmten Typ wie folgt:

const type variable = value;

Das folgende Beispiel erklärt es im Detail -

#import <Foundation/Foundation.h>

int main() {
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  
   
   area = LENGTH * WIDTH;
   NSLog(@"value of area : %d", area);
   NSLog(@"%c", NEWLINE);

   return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:

2013-09-07 22:19:24.780 demo[25621] value of area : 50
2013-09-07 22:19:24.781 demo[25621]

Beachten Sie, dass es eine gute Programmierpraxis ist, Konstanten in GROSSBUCHSTABEN zu definieren.