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

C Language Basic Tutorial

C Language Flow Control

Funciones en C

Arreglos en C

Punteros en C

Cadenas en C

C Language Structure

C Language File

C Others

C Language Reference Manual

Biblioteca estándar <limits.h> en C

limits.h The header file determines various attributes of various variable types. The macros defined in this header file limit the values of various variable types (such as char, int, and long).

These restrictions specify that variables cannot store any values beyond these limits, for example, the maximum value that an unsigned can store is 255.

Library macro

The following values are specific to the implementation and are defined by the #define directive. These values must not be less than the values given below.

MacroValueDescription
CHAR_BIT8Define the number of bits in a byte.
SCHAR_MIN-128Define the minimum value of a signed character.
SCHAR_MAX127Define the maximum value of a signed character.
UCHAR_MAX255Define the maximum value of an unsigned character.
CHAR_MIN0Define the minimum value of the type char, if char represents a negative value, its value is equal to SCHAR_MIN, otherwise it is equal to 0.
CHAR_MAX127Definir el valor máximo del tipo char, si char representa un valor negativo, su valor es igual a SCHAR_MAX, de lo contrario es igual a UCHAR_MAX.
MB_LEN_MAX1Definir el número máximo de bytes en un carácter multibyte.
SHRT_MIN-32768Definir un valor mínimo para un entero corto.
SHRT_MAX+32767Definir un valor máximo para un entero corto.
USHRT_MAX65535Definir un valor máximo para un entero corto sin signo.
INT_MIN-32768Definir un valor mínimo para un entero.
INT_MAX+32767Definir un valor máximo para un entero.
UINT_MAX65535Definir un valor máximo para un entero sin signo.
LONG_MIN-2147483648Definir un valor mínimo para un entero largo.
LONG_MAX+2147483647Definir un valor máximo para un entero largo.
ULONG_MAX4294967295Definir un valor máximo para un entero largo sin signo.

Ejemplo en línea

El siguiente ejemplo muestra el uso de algunas constantes definidas en el archivo limit.h.

#include <stdio.h>
#include <limits.h>
int main()
{
   printf("El número de bits de byte %d\n", CHAR_BIT);
   printf("El valor mínimo de SIGNED CHAR = %d\n", SCHAR_MIN);
   printf("El valor máximo de SIGNED CHAR = %d\n", SCHAR_MAX);
   printf("El valor máximo de UNSIGNED CHAR = %d\n", UCHAR_MAX);
   printf("El valor mínimo de SHORT INT = %d\n", SHRT_MIN);
   printf("El valor máximo de SHORT INT = %d\n", SHRT_MAX); 
   printf("El valor mínimo de INT = %d\n", INT_MIN);
   printf("El valor máximo de INT = %d\n", INT_MAX);
   printf("El valor mínimo de CHAR = %d\n", CHAR_MIN);
   printf("El valor máximo de CHAR = %d\n", CHAR_MAX);
   printf("El valor máximo de LONG = %ld\n", LONG_MIN);
   printf("El valor mínimo de LONG = %ld\n", LONG_MAX);
  
   return(0);
}

Compilamos y ejecutamos el programa anterior, lo que produce los siguientes resultados:

El número de bits de byte 8
El valor mínimo de SIGNED CHAR = -128
El valor máximo de SIGNED CHAR = 127
El valor máximo de UNSIGNED CHAR = 255
El valor mínimo de SHORT INT = -32768
El valor máximo de SHORT INT = 32767
El valor mínimo de INT = -32768
El valor máximo de INT = 32767
El valor mínimo de CHAR = -128
El valor máximo de CHAR = 127
El valor máximo de LONG = -2147483648
El valor mínimo de LONG = 2147483647