English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
limits.h Header file determina le varie proprietà dei vari tipi di variabili. Le macro definite in questo header file limitano i valori dei vari tipi di variabili (ad esempio char, int e long).
Queste restrizioni specificano che le variabili non possono memorizzare valori al di sopra di queste restrizioni, ad esempio il valore massimo che può memorizzare un unsigned è 255.
I seguenti valori sono specifici dell'implementazione e sono definiti con l'istruzione #define, questi valori non possono essere inferiori ai valori elencati di seguito.
Macro | Valore | Descrizione |
---|---|---|
CHAR_BIT | 8 | Definisci il numero di bit in un byte. |
SCHAR_MIN | -128 | Definisci il valore minimo di un carattere signed. |
SCHAR_MAX | 127 | Definisci il valore massimo di un carattere signed. |
UCHAR_MAX | 255 | Definisci il valore massimo di un carattere unsigned. |
CHAR_MIN | 0 | Definisci il valore minimo del tipo char, se char rappresenta un valore negativo, il suo valore è uguale a SCHAR_MIN, altrimenti uguale a 0. |
CHAR_MAX | 127 | Definisci il valore massimo del tipo char, se char rappresenta un valore negativo, il suo valore è uguale a SCHAR_MAX, altrimenti uguale a UCHAR_MAX. |
MB_LEN_MAX | 1 | Definisci il numero massimo di byte in un carattere multibyte. |
SHRT_MIN | -32768 | Definisci il valore minimo di un tipo short int. |
SHRT_MAX | +32767 | Definisci il valore massimo di un tipo short int. |
USHRT_MAX | 65535 | Definire un valore massimo per un unsigned short int. |
INT_MIN | -32768 | Definire un valore minimo per un int. |
INT_MAX | +32767 | Definire un valore massimo per un int. |
UINT_MAX | 65535 | Definire un valore massimo per un unsigned int. |
LONG_MIN | -2147483648 | Definire un valore minimo per un long int. |
LONG_MAX | +2147483647 | Definire un valore massimo per un long int. |
ULONG_MAX | 4294967295 | Definire un valore massimo per un long unsigned int. |
Esempio di utilizzo di alcune costanti definite nel file limit.h.
#include <stdio.h> #include <limits.h> int main() { printf("Il numero di bit di byte = %d\n", CHAR_BIT); printf("Il valore minimo di SIGNED CHAR = %d\n", SCHAR_MIN); printf("Il valore massimo di SIGNED CHAR = %d\n", SCHAR_MAX); printf("Il valore massimo di UNSIGNED CHAR = %d\n", UCHAR_MAX); printf("Il valore minimo di SHORT INT = %d\n", SHRT_MIN); printf("Il valore massimo di SHORT INT = %d\n", SHRT_MAX); printf("Il valore minimo di INT = %d\n", INT_MIN); printf("Il valore massimo di INT = %d\n", INT_MAX); printf("Il valore minimo di CHAR = %d\n", CHAR_MIN); printf("Il valore massimo di CHAR = %d\n", CHAR_MAX); printf("Il valore massimo di LONG = %ld\n", LONG_MIN); printf("Il valore minimo di LONG = %ld\n", LONG_MAX); return(0); }
Compiliamo e eseguiamo il programma sopra, che produrrà i seguenti risultati:
Il numero di bit di byte = 8 Il valore minimo di SIGNED CHAR = -128 Il valore massimo di SIGNED CHAR = 127 Il valore massimo di UNSIGNED CHAR = 255 Il valore minimo di SHORT INT = -32768 Il valore massimo di SHORT INT = 32767 Valore minimo di INT = -32768 Valore massimo di INT = 32767 Valore minimo di CHAR = -128 Valore massimo di CHAR = 127 Valore massimo di LONG = -2147483648 Valore minimo di LONG = 2147483647