Hallo,
Natürlich sind es normale Anführungszeichen. Sie beginnen bzw. beenden eine Stringkonstante.
Ein String-Literal genauer gesagt.
so kann man es auch nennen.
Eine Konstante ist es erst, wenn solch in Literal (oder auch ein vorher zu berechnender Ausdruck) einem Namen zugewiesen wird, der die Konstante repräsentiert.
Das habe ich anders gelernt. Was du meinst, kenne ich zumindest aus dem Dunstkreis von C als benannte Konstante. Als Konstante allgemein bezeichnet man nach meiner Kenntnis alles, was als fester Ausdruck im Quellcode steht. So ist beispielsweise im folgenden Codeauszug
setTimeout(DoSomething, 500);
auch die Zahl 500 eine Konstante. Darüber hinaus gibt es noch konstante Ausdrücke, die zwar scheinbar berechnete Werte sind, aber keine variablen Anteile haben, so dass der Wert des Ausdrucks immer gleich ist. Manche Compiler erkennen das und setzen dann gleich den konstanten Wert ein, anstatt den ganzen Ausdruck zu codieren.
#define BLOCKSIZE 128
char *m = malloc(BLOCKSIZE * 60);
Hier würde ein optimierender Compiler, wie ich ihn meine, sofort den konstanten Wert 7680 als Argument für den Aufruf von malloc() einsetzen, die Multiplikation der beiden Konstanten 128 und 60 also schon beim Compilieren durchführen und nicht Code erzeugen, der diese Multiplikation durchführt.
So long,
Martin
--
Wenn Zeit das Kostbarste ist, was wir haben, dann ist Zeitverschwendung die größte aller Verschwendungen.
(Benjamin Franklin, amerikanischer Tüftler und Politiker)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(