English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Manuel de référence du langage C limits.h
Ces restrictions spécifient que les variables ne peuvent pas stocker de valeurs au-delà de ces limites, par exemple, la valeur maximale que peut stocker un unsigned est 255.
Les valeurs suivantes sont spécifiques à l'implémentation et sont définies par l'instruction #define, et ces valeurs ne doivent pas être inférieures aux valeurs indiquées ci-dessous.
Macro | Valeur | Description |
---|---|---|
CHAR_BIT | 8 | Définit le nombre de bits d'un octet. |
SCHAR_MIN | -128 | Définit la valeur minimale d'un caractère signé. |
SCHAR_MAX | 127 | Définit la valeur maximale d'un caractère signé. |
UCHAR_MAX | 255 | Définit la valeur maximale d'un caractère sans signe. |
CHAR_MIN | 0 | Définit la valeur minimale du type de définition char, si char représente une valeur négative, alors sa valeur est égale à SCHAR_MIN, sinon égale à 0. |
CHAR_MAX | 127 | Définir la valeur maximale du type char, si char représente une valeur négative, alors sa valeur est égale à SCHAR_MAX, sinon elle est égale à UCHAR_MAX. |
MB_LEN_MAX | 1 | Définir le nombre maximal de bytes dans un caractère multibyte. |
SHRT_MIN | -32768 | Définir une valeur minimale pour un short int. |
SHRT_MAX | +32767 | Définir une valeur maximale pour un short int. |
USHRT_MAX | 65535 | Définir une valeur maximale pour un unsigned short int. |
INT_MIN | -32768 | Définir une valeur minimale pour un int. |
INT_MAX | +32767 | Définir une valeur maximale pour un int. |
UINT_MAX | 65535 | Définir une valeur maximale pour un unsigned int. |
LONG_MIN | -2147483648 | Définir une valeur minimale pour un long int. |
LONG_MAX | +2147483647 | Définir une valeur maximale pour un long int. |
ULONG_MAX | 4294967295 | Définir une valeur maximale pour un long unsigned int. |
L'exemple suivant montre l'utilisation de certains constantes définies dans le fichier limit.h.
#include <stdio.h> #include <limits.h> int main() { printf("Le nombre de bits de byte %d\n", CHAR_BIT); printf("La valeur minimale de SIGNED CHAR = %d\n", SCHAR_MIN); printf("La valeur maximale de SIGNED CHAR = %d\n", SCHAR_MAX); printf("La valeur maximale de UNSIGNED CHAR = %d\n", UCHAR_MAX); printf("La valeur minimale de SHORT INT = %d\n", SHRT_MIN); printf("La valeur maximale de SHORT INT = %d\n", SHRT_MAX); printf("La valeur minimale de INT = %d\n", INT_MIN); printf("La valeur maximale de INT = %d\n", INT_MAX); printf("La valeur minimale de CHAR = %d\n", CHAR_MIN); printf("La valeur maximale de CHAR = %d\n", CHAR_MAX); printf("La valeur maximale de LONG = %ld\n", LONG_MIN); printf("La valeur minimale de LONG = %ld\n", LONG_MAX); return(0); }
Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :
Le nombre de bits de byte 8 La valeur minimale de SIGNED CHAR = -128 La valeur maximale de SIGNED CHAR = 127 La valeur maximale de UNSIGNED CHAR = 255 La valeur minimale de SHORT INT = -32768 La valeur maximale de SHORT INT = 32767 La valeur minimale de INT = -32768 La valeur maximale de INT = 32767 La valeur minimale de CHAR = -128 La valeur maximale de CHAR = 127 La valeur maximale de LONG = -2147483648 La valeur minimale de LONG = 2147483647