Hallo,
Es steht erkärt, daß int, Ganzzahl bedeutet, mit einem Wertbereich von -32768 bis 32767.
Wobei das nicht die ganze Wahrheit ist. Welchen Wertebereich int wirklich hat, hängt vom Compiler ab. Bei manchen ist es 'short int' also eine vorzeichenbehaftete 16-Bit Variable, bei manchen ist es 'long int', also eine vorzeichenbehaftete 32-Bit Variable. Zweiteres ist heute eigentlich AFAIK die Regel. Damit ergibt sich ein Wertebereich von -2147483648 bis 2147483647. IMHO ist dieses Compiler-abhängige VErhalten eines der größten Mankos von C.
Viele Programmierer definieren daher die Datentypen immer mit long bzw short, da deren Wertebereich immer klar festgelegt ist.
Soll das jetzt bedeuten, daß wenn ich eine Eingabeaufforderung habe, und eine Zahl, die mit int deklariert wurde, nur eine Zahl zwischen diesen Werten eingeben darf, oder bedeutet das doch etwas ganz anderes ?
Ja, das heißt es.
Von der Logik her, müsste es doch etwas anderes bedeuten, weil ich kann doch im Programm vorher nicht wissen, was ein User eingibt?
Das überprüfen von Wertebereichen liegt immer im Bereich des Programmierers. Der Grund ist IMHO in einer verbesserten Performance zu suchen, da es eigentlich nur wenig Fälle gibt (Datenübernahme von Außen), in denen Variablen Werte annehmen könnten, die nicht innerhalb des Wertebereichs liegen.
Deswegen wollt ich jetzt mal gerne wissen, was dieser Wertbereich bedeutet?
Die größte bzw. kleinste Zahl, die mit diesen Datentyp darstellbar ist.
Übrigens sind verschiedene Datentypen, und damit verschiedene Wertebereiche, in den Programmiersprachen die Regel.
Scriptsprachen wie Perl oder PHP bilden eher die Ausnahme.
Grüße
Klaus