Zeichenfolgenliterale in C
Das folgende gibt eine Textdarstellung des bei der Auswertung des Ausdrucks »"Hallo, Welt!"« erhaltenen Wertes aus.
main.c
#include <stdio.h>
int main( void )
{ printf
( "%s\n", "Hallo, Welt!" ); }- stdout
Hallo, Welt!
Aufbau einer Zeichenfolge
Eine Zeichenfolge (kurz auch Folge ) oder Zeichenkette (englisch “character string ”) besteht aus hintereinander geschriebenen Schriftzeichen (Buchstaben, Ziffern oder Sonderzeichen). Beispiel: »;s2/^« ist eine Zeichenfolge mit fünf Zeichen. Während ein Text zweidimensional ist und aus Zeilen besteht, ist eine Zeichenfolge eine eindimensionale Abfolge von Zeichen.
- Produktion
Zeichenfolge
|-|---.------------------.--->|-|
^ |
| .---------. |
'---| Zeichen |<---'
'---------'
Aufbau eines Zeichenfolgenliterals
In einem Programm wird ein Zeichenfolgenliteral verwendet, um eine Zeichenfolge zu notieren (anzugeben). Ein Zeichenfolgenliteral besteht aus einer Zeichenfolge, die in zwei Anführungszeichen eingeschlossen ist. In unserem Ausdruckrahmen kann mit eine Zeichenfolgenliteral beispielsweise die Zeichenfolge angegeben werden, die dann vom Programm ausgegeben wird. In der Regel notiert ein Zeichenfolgenliteral die Zeichenfolge, welche zwischen den Anführungszeichen des Zeichenfolgenlliterals steht.
- Produktion
Zeichenfolgenliteral
.-. .-.
|-|--->( " )---.------------------.--->( " )--->|-|
'-' ^ | '-'
| .---------. |
'---| Zeichen |<---'
'---------'
Ein Zeichenfolgenliteral ist ein Ausdruck.
Beispiele für Zeichenfolgenliterale
Das Zeichenfolgenliteral »"Hallo, Welt!"« (14 Zeichen) notiert innerhalb eines Programms bespielsweise die Zeichenfolge »Hallo, Welt!« (12 Zeichen).
- Zeichenfolgenliteral
"Hallo, Welt!"
- Zeichenfolge
Hallo, Welt!
Der Text »Hallo, Welt!« kann natürlich auch durch einen anderen Text ersetzt werden, wie das folgende Programmbeispiel zeigt.
- Zeichenfolgenliteral
"Alpha"
- Zeichenfolge
Alpha
main.c
#include <stdio.h>
int main( void )
{ printf
( "%s\n", "Alpha" ); }- stdout
Alpha
Zeichenfolgen mit einem einzigen Zeichen
Auch eine Folge mit nur einem einzigen Schriftzeichen gilt als Zeichenfolge.
- Zeichenfolgenliteral
"A"
- Zeichenfolge
A
main.c
#include <stdio.h>
int main( void )
{ printf
( "%s\n", "A" ); }- stdout
A
Die leere Zeichenfolge
Auch eine Folge von null Schriftzeichen gilt als Zeichenfolge.
- Zeichenfolgenliteral (leer)
""
- Zeichenfolge (leer)
main.c
#include <stdio.h>
int main( void )
{ printf
( "%s\n", "" ); }- stdout
- (Leerzeile)
Zeilenenden
Das Zeichen »\« heißt „inverser Schrägstrich“. Es sollte nicht mit dem Schrägstrich »/« verwechselt werden!
In einem Zeichenfolgenliteral steht das Zeichenpaar »\n« für ein Zeilenende in der dargestellten Zeichenfolge (etwas vereinfacht gesagt).
- Zeichenfolgenliteral
"Alpha\nGamma"
- Zeichenfolge
Alpha
Gamma
Semantik
Die Semantik ist der Teil einer Programmiersprache, welcher erklärt, wie die Bedeutung eines Programms ermittelt wird. In unserem Fall legt die Semantik fest, wie die Zeichenfolge eines Zeichenfolgenliterals bestimmt wird.
Die Zeichenfolge eines Zeichenfolgenliterals ist die in ihm zwischen den Anführungszeichen enthaltene Zeichenfolge.
Ein Zeichenfolgenliteral repräsentiert also eine Zeichenfolge im Quelltext. Es besteht im wesentlichen aus den Zeichen jener Zeichenfolge zwischen zwei Anführungszeichen.
- Beispiele für die Bedeutung von Zeichenfolgenliteralen
Zeichenfolgenliteral Bedeutung
-------------------- ---------"Hallo, Welt!" Hallo, Welt!
"Alpha" Alpha
"A" A
""
Übungsfragen
Textangaben in chevrons (/ʃə.vʁɔ̃s/), also den Zeichen "»" und "«", beziehen sich immer auf den Text zwischen diesen chevrons. Beispielsweise umfaßt der Text »abc« drei Zeichen (nicht fünf).
? Übungsfrage
Wie viele Zeichen hat die Zeichenfolge des Zeichenfolgenliterals »"ab"«?
? Übungsfrage
Wie viele Zeichen hat das Zeichenfolgenliteral »"ab"« selber (als Teil des Quelltexts betrachtet)?