Typanforderungen in C
Das Numerale nach einem Vorzeichenoperator »-« muß einen passenden Zahlentyp (einen numerischen Typ), wie »int« oder »double« haben (er muß numerisch sein), ein Ausdruck mit dem Typ „Zeichenfolge“ (»char *«) ist dort nicht erlaubt.
main.c
#include <stdio.h> int main( void )
{ printf
( "%s\n", -"65" ); }- gcc -Fehlermeldung (übersetzt)
main.c:6:19: error: Argument des unären Minus hat falschen Typ
{ printf
( "%s\n", -"65" ); }
^
Wir sehen hier, wie Datentypen helfen, Fehler in Programmen automatisch zu erkennen! Die Prüfung auf passende Typen durch den Compiler wird auch als statische Typsicherheit bezeichnet.
Mit »Argument« in der Fehlermeldung ist der Operand gemeint.
Typanforderungen werden nicht schon durch die Syntax einer Sprache ausgedrückt, sondern gelten noch zusätzlich.
Übungsfragen
? Übungsfrage
Welche der folgende Ausdrücke erfüllen nach dem oben Gesagten die Typanforderungen für die Verwendung des Operators »-«?
A »-2«
B »-2.0«
C »-"2"«