logo

Literale in C

In C sind Literale die konstanten Werte, die den Variablen zugewiesen werden. Literale stellen feste Werte dar, die nicht geändert werden können. Literale enthalten Speicher, haben aber keine Referenzen als Variablen. Im Allgemeinen werden beide Begriffe, Konstanten und Literale synonym verwendet.
Beispielsweise ist const int = 5; ein konstanter Ausdruck und der Wert 5 wird als konstantes Ganzzahlliteral bezeichnet.

Arten von C-Literalen

Es gibt 4 Arten von Literalen in C:



  • Ganzzahliges Literal
  • Float-Literal
  • Zeichenliteral
  • String-Literal

C-Literale

1. Ganzzahlige Literale

Ganzzahlige Literale werden nur zur Darstellung und Speicherung der ganzzahligen Werte verwendet. Ganzzahlige Literale werden in zwei Typen ausgedrückt, d. h.

A) Präfixe: Das Präfix des Integer-Literals gibt die Basis an, in der es gelesen werden soll.
Zum Beispiel:



0x10 = 16

Weil das Präfix 0x eine hexadezimale Basis darstellt. Also ist 10 im Hexadezimalformat 16 im Dezimalformat. Daher der Wert 16.

Grundsätzlich werden sie in 4 Typen unterteilt:



A. Dezimalliteral (Basis 10): A Dezimalziffer ungleich Null gefolgt von null oder mehr Dezimalstellen (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).

Beispiel:

CSS-Bild ausrichten
56, 78>

B. Oktal-Literal (Basis 8): A 0 gefolgt von null oder mehr Oktalziffern (0, 1, 2, 3, 4, 5, 6, 7).

Beispiel:

045, 076, 06210>

C. Hex-Literal (Basis 16): 0x oder 0X gefolgt von einer oder mehreren hexadezimalen Ziffern (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C, d, D, e, E, f, F).

Beispiel:

0x23A, 0Xb4C, 0xFEA>

D. Binärliteral (Basis 2): 0b oder 0B gefolgt von einer oder mehreren Binärziffern (0, 1).

Beispiel:

0b101, 0B111>

B) Suffixe: Das Präfix des Integer-Literals gibt den Typ an, in dem es gelesen werden soll.

Zum Beispiel:

12345678901234LL

gibt aufgrund des Suffixes LL einen Long-Long-Integer-Wert 12345678901234 an

Diese werden je nach Datentyp auf vielfältige Weise dargestellt.

Abstraktion in Java
  • int: Es ist kein Suffix erforderlich, da die Ganzzahlkonstante standardmäßig als int-Datentyp zugewiesen ist.
  • unsigned int: Zeichen u oder U am Ende einer ganzzahligen Konstante.
  • long int: Zeichen l oder L am Ende einer ganzzahligen Konstante.
  • unsigned long int: Zeichen ul oder UL am Ende einer ganzzahligen Konstante.
  • long long int: Zeichen ll oder LL am Ende einer Ganzzahlkonstante.
  • unsigned long long int: Zeichen ull oder ULL am Ende einer Ganzzahlkonstante.

Beispiel:

C




#include> int> main()> {> >// constant integer literal> >const> int> intVal = 10;> >printf>(>'Integer Literal:%d '>, intVal);> >return> 0;> }>

>

>

Ausgabe

Java-Generika
Integer Literal:10>

2. Gleitkomma-Literale

Diese werden zur Darstellung und Speicherung reeller Zahlen verwendet. Die reelle Zahl hat einen ganzzahligen Teil, einen reellen Teil, einen gebrochenen Teil und einen exponentiellen Teil. Die Gleitkommaliterale können entweder in Dezimalform oder Exponentialform gespeichert werden. Bei der Darstellung der Gleitkomma-Dezimalzahlen müssen zwei Dinge beachtet werden, um gültige Literale zu erzeugen:

  • In der Dezimalform muss man den ganzzahligen Teil, den Bruchteil oder beides angeben, andernfalls führt dies zu einem Fehler.
  • In der Exponentialform muss man sowohl den Signifikanten- als auch den Exponententeil einbeziehen, sonst kommt es zu einem Fehler.

Nachfolgend sind einige Gleitkomma-Literaldarstellungen aufgeführt:

Gültige Floating-Literale:

10.125 1.215e-10L 10.5E-3>

Ungültige Floating-Literale:

123E 1250f 0.e879>

Beispiel:

C




#include> int> main()> {> >// constant float literal> >const> float> floatVal = 4.14;> >printf>(>'Floating point literal: %.2f '>,> >floatVal);> >return> 0;> }>

>

>

Ausgabe

Floating point literal: 4.14>

3. Zeichenliterale

Dies bezieht sich auf das Literal, das zum Speichern eines einzelnen Zeichens in einem einfachen Anführungszeichen verwendet wird. Um mehrere Zeichen zu speichern, muss man ein Zeichenarray verwenden. Wenn Sie mehr als ein Zeichen in einem einzelnen Anführungszeichen speichern, wird eine Warnung ausgegeben und nur das letzte Zeichen des Literals angezeigt. Es ergeben sich folgende zwei Darstellungen:

  • Zeichentyp: Dies wird zum Speichern normaler Zeichenliterale oder schmaler Zeichenliterale verwendet.

Beispiel:

char chr = 'G';>

Beispiel:

C




Java-Stacks

#include> int> main()> {> >// constant char literal> >const> char> charVal =>'A'>;> >printf>(>'Character Literal: %c '>,> >charVal);> >return> 0;> }>

>

>

Ausgabe:

Character Literal: A>

Escape-Sequenzen : Es gibt verschiedene Sonderzeichen, mit denen man verschiedene Operationen ausführen kann.

4. String-Literale

Zeichenfolgenliterale ähneln diesen Zeichenliteralen, außer dass sie mehrere Zeichen speichern können und für deren Speicherung doppelte Anführungszeichen verwenden. Es kann auch die in der obigen Tabelle genannten Sonderzeichen und Escape-Sequenzen aufnehmen. Wir können eine lange Zeile mithilfe eines String-Literals in mehrere Zeilen aufteilen und diese mithilfe von Leerzeichen trennen.
Beispiel:

char stringVal[] = 'techcodeview.com';>

Beispiel:

C




#include> int> main()> {> >const> char> str[]> >=>'Welcome To Geeks For Geeks'>;> >printf>(>'%s'>, str);> >return> 0;> }>

>

Java-Datenstrukturen
>

Ausgabe:

Welcome To Geeks For Geeks>

Muss lesen:

  • Benutzerdefinierte Literale
  • Rohes String-Literal in C++
  • Oktalliterale in C
  • Zusammengesetzte Literale in C
  • Typunterschied von Zeichenliteralen C++