Konstanten

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Konstanten (Übersicht) - Index

Konstanten oder Literale sind Symbole, die für feste numerische oder Zeichenwerte stehen. Die Begriffe Konstanten und Literale werden hier austauschbar verwendet.

Der Compiler unterstützt die folgenden Klassen von Konstanten: Integer, Gleitkommazahl, Zeichen und String, Boolean und Aufzählungen.

Die Abbildung Interne Darstellung der numerischen Datentypen verdeutlicht die interne Repräsentation dieser Typen in der Architektur eines Prozessors.

Der Datentyp einer Konstante wird vom Compiler auf Grund ihres numerischen Wertes und ihres Formats im Quelltext abgeleitet. Die formale Definition einer Konstante demonstriert die folgende Tabelle:

Konstanten: Formale Definitionen:

Konstante:
  Gleitkomma-Konstante
  Integer-Konstante
  Zeichen-Konstante
  String-Literal
  Aufzählungskonstanten
  Boolesches Literal
Aufzählungskonstanten
   Bezeichner
Gleitkomma-Konstante:
  Mantisse <Exponent> <Gleitkomma-Suffix>
  Ziffernfolge Exponent <Gleitkomma-Suffix>
Zeichen-Konstante
   'c-char-Folge'     (char - ANSI)
   L'c-char-Folge'    (wchar_t - Widestring)
   u'c-char-Folge'    (char16_t - UTF-16) (С++0x)
   U'c-char-Folge'    (char32_t - UTF-32) (С++0x)
Mantisse:
  <Ziffernfolge>  . Ziffernfolge
  Ziffernfolge  .
c-char-Folge:
  c-char
  c-char-Folge c-char
Exponent:
  e <Vorzeichen> Ziffernfolge
  E <Vorzeichen> Ziffernfolge
c-char
  irgendein Zeichen des geg. Zeichensatzes
    außer einfachen Anführungszeichen ( ' ),
    Backslash ( \ )
    oder Zeilenvorschub
  Escape-Sequenzen
Vorzeichen: jeweils aus der Menge
 + -
Escape-Sequenz:
  Einfache Escape-Sequenz
  Oktale Escape-Sequenz
  Hexadezimale Escape-Sequenz
Ziffernfolge:
  Ziffer
  Ziffernfolge Ziffer
Einfache Escape-Sequenz: jeweils aus der Menge 
  \" \' \? \\
  \a \b \f \n \r \t \v
Gleitkomma-Suffix: jeweils aus der Menge
  f l F L
Oktake Escape-Sequenz:
  \ Oktale Ziffer   (\o)
  \ Oktale Ziffer Oktale Ziffer   (\oo)
  \ Oktale Ziffer Oktale Ziffer Oktale Ziffer   (\ooo)
Integer-Konstante:
  Dezimale Konstante <integer-Suffix>
  Oktale Konstante <integer-Suffix>
  Hexadezimale Konstante <integer-Suffix>
Hexadezimale Escape-Sequenz
  \x Hexadezimale Ziffer   (\xh)
  \X Hexadezimale Ziffer   (\Xh)
  Hexadezimale Escape-Sequenz Hexadezimale Ziffer
Dezimale Konstante:
  Ziffern ohne Null
  Dezimale Konstante Ziffer
String-Konstanten:
  "s-char-Folge"     (char* - ANSI)
  L"s-char-Folge"    (wchar_t* - Widestring)
  u"s-char-Folge"    (char16_t* - UTF-16) (С++0x)
  U"s-char-Folge"    (char32_t* - UTF-32) (С++0x)
Oktale Konstante:
  0
  Oktale Konstante Oktale Ziffer
s-char-Folge:
  s-char
  s-char-Folge s-char 
Hexadezimale Konstante:
  0x Hexadezimale Ziffer
  0X Hexadezimale Ziffer
  Hexadezimale Konstante Hexadezimale Ziffer 
s-char:
  irgendein Zeichen des geg. Zeichensatzes
    außer doppelten Anführungszeichen ( " ),
    Backslash (\)
    oder Zeilenvorschub 
  Escape-Sequenzen
Ziffern ohne Null: jeweils aus der Menge
  1 2 3 4 5 6 7 8 9
Boolesches Literal
  richtig
  falsch
Oktale Ziffer: jeweils aus der Menge
  0 1 2 3 4 5 6 7
Hexadezimale Ziffer: jeweils aus der Menge
  0 1 2 3 4 5 6 7 8 9
  a b c d e f
  A B C D E F 
integer-Suffix
  unsigned-Suffix <long-suffix>
  long-suffix <unsigned-suffix>
  <unsigned-Suffix> size-Suffix 
unsigned-Suffix: jeweils aus der Menge
  u U
long-Suffix: jeweils aus der Menge
  l L
size-Suffix: jeweils aus der Menge
  i8 I8 i16 I16  i32 I32 i64 I64 

Siehe auch