C Bibliothek - <limit.h>
Das limits.hDer Header bestimmt verschiedene Eigenschaften der verschiedenen Variablentypen. Die in diesem Header definierten Makros begrenzen die Werte verschiedener Variablentypen wie char, int und long.
Diese Grenzwerte geben an, dass eine Variable keinen Wert außerhalb dieser Grenzwerte speichern kann. Beispielsweise kann ein vorzeichenloses Zeichen bis zu einem Maximalwert von 255 speichern.
Bibliotheksmakros
Die folgenden Werte sind implementierungsspezifisch und werden mit der Direktive #define definiert. Diese Werte dürfen jedoch nicht niedriger sein als hier angegeben.
Makro | Wert | Beschreibung |
---|---|---|
CHAR_BIT | 8 | Definiert die Anzahl der Bits in einem Byte. |
SCHAR_MIN | -128 | Definiert den Mindestwert für ein signiertes Zeichen. |
SCHAR_MAX | +127 | Definiert den Maximalwert für ein signiertes Zeichen. |
UCHAR_MAX | 255 | Definiert den Maximalwert für ein vorzeichenloses Zeichen. |
CHAR_MIN | -128 | Definiert den Mindestwert für den Typ char und sein Wert ist gleich SCHAR_MIN, wenn char negative Werte darstellt, andernfalls Null. |
CHAR_MAX | +127 | Definiert den Wert für den Typ char und sein Wert ist gleich SCHAR_MAX, wenn char negative Werte darstellt, andernfalls UCHAR_MAX. |
MB_LEN_MAX | 16 | Definiert die maximale Anzahl von Bytes in einem Mehrbytezeichen. |
SHRT_MIN | -32768 | Definiert den Mindestwert für ein kurzes int. |
SHRT_MAX | +32767 | Definiert den Maximalwert für ein kurzes int. |
USHRT_MAX | 65535 | Definiert den Maximalwert für ein vorzeichenloses kurzes int. |
INT_MIN | -2147483648 | Definiert den Mindestwert für ein int. |
INT_MAX | +2147483647 | Definiert den Maximalwert für ein int. |
UINT_MAX | 4294967295 | Definiert den Maximalwert für ein vorzeichenloses int. |
LONG_MIN | -9223372036854775808 | Definiert den Mindestwert für ein langes int. |
LONG_MAX | +9223372036854775807 | Definiert den Maximalwert für ein langes int. |
ULONG_MAX | 18446744073709551615 | Definiert den Maximalwert für ein vorzeichenloses Long-Int. |
Beispiel
Das folgende Beispiel zeigt die Verwendung weniger der in definierten Konstanten limits.h Datei.
#include <stdio.h>
#include <limits.h>
int main() {
printf("The number of bits in a byte %d\n", CHAR_BIT);
printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);
printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);
printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);
printf("The maximum value of SHORT INT = %d\n", SHRT_MAX);
printf("The minimum value of INT = %d\n", INT_MIN);
printf("The maximum value of INT = %d\n", INT_MAX);
printf("The minimum value of CHAR = %d\n", CHAR_MIN);
printf("The maximum value of CHAR = %d\n", CHAR_MAX);
printf("The minimum value of LONG = %ld\n", LONG_MIN);
printf("The maximum value of LONG = %ld\n", LONG_MAX);
return(0);
}
Lassen Sie uns das obige Programm kompilieren und ausführen, das das folgende Ergebnis liefert:
The number of bits in a byte 8
The minimum value of SIGNED CHAR = -128
The maximum value of SIGNED CHAR = 127
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807