English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Lezioni di base del linguaggio C

Controllo di flusso del linguaggio C

Funzioni del linguaggio C

Array del linguaggio C

Puntatori del linguaggio C

Stringhe del linguaggio C

Struttura del linguaggio C

File del linguaggio C

Altri C

Manuale di riferimento del linguaggio C

Libreria standard <limits.h> C

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.

Macro di libreria

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.

MacroValoreDescrizione
CHAR_BIT8Definisci il numero di bit in un byte.
SCHAR_MIN-128Definisci il valore minimo di un carattere signed.
SCHAR_MAX127Definisci il valore massimo di un carattere signed.
UCHAR_MAX255Definisci il valore massimo di un carattere unsigned.
CHAR_MIN0Definisci il valore minimo del tipo char, se char rappresenta un valore negativo, il suo valore è uguale a SCHAR_MIN, altrimenti uguale a 0.
CHAR_MAX127Definisci 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_MAX1Definisci il numero massimo di byte in un carattere multibyte.
SHRT_MIN-32768Definisci il valore minimo di un tipo short int.
SHRT_MAX+32767Definisci il valore massimo di un tipo short int.
USHRT_MAX65535Definire un valore massimo per un unsigned short int.
INT_MIN-32768Definire un valore minimo per un int.
INT_MAX+32767Definire un valore massimo per un int.
UINT_MAX65535Definire un valore massimo per un unsigned int.
LONG_MIN-2147483648Definire un valore minimo per un long int.
LONG_MAX+2147483647Definire un valore massimo per un long int.
ULONG_MAX4294967295Definire un valore massimo per un long unsigned int.

Esempio online

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