<limits.h>
No cabeçalho <limits.h> estão definidas as constantes que delimitam os valores máximos e mínimos que variáveis de um dado tipo podem assumir. Assim, é possível operar com os tipos presentes na linguagem C tendo-se absoluta certeza que uma determinada variável serve ao propósito de alguma aplicação para a qual ele foi designado, uma vez que se espera que essa variável esteja limitada superiormente e inferiormente.
Macros
-
CHAR_BIT: quantidade de bits necessários para se representar uma variável do tipo char.
-
SCHAR_MIN: valor numérico mínimo que a variável do tipo char padrão pode assumir.
-
SCHAR_MAX: valor numérico máximo que a variável do tipo char padrão pode assumir.
-
UCHAR_MAX: valor numérico máximo que um unsigned char pode assumir.
-
CHAR_MIN: valor numérico mínimo que um signed char pode assumir.
-
CHAR_MAX: valor numérico máximo que um signed char pode assumir.
-
SHRT_MIN: valor numérico mínimo que um short int pode assumir.
-
SHRT_MAX: valor numérico máximo que um short int pode assumir.
-
USHRT_MAX: valor numérico máximo que um unsigned short int pode assumir.
-
INT_MIN: valor numérico mínimo que um int pode assumir.
-
INT_MAX: valor numérico máximo que um int pode assumir.
-
UINT_MAX: valor numérico máximo que um unsigned int pode assumir.
-
LONG_MIN: valor numérico mínimo que um long int pode assumir.
-
LONG_MAX: valor numérico máximo que um long int pode assumir.
-
ULONG_MAX: valor numérico máximo que um unsigned long int pode assumir.
Funções
Não há funções nesta biblioteca.
Exemplo de uso
#include <stdio.h>
#include <limits.h>
int main() {
printf("O tamanho de um int vai de %d ate %d\n", INT_MIN, INT_MAX);
/* Exemplo de overflow (estouro de limite) */
int overflow = INT_MAX + 1;
printf("Se somarmos 1 ao maximo, obtemos: %d\n", overflow);
return 0;
}
Saída do terminal
> clang -o main main.c
> ./main
O tamanho de um int vai de -2147483648 ate 2147483647
Se somarmos 1 ao maximo, obtemos: -2147483648