Latest web development tutorials

Biblioteka standardowa języka C - <limits.h>

krótkie wprowadzenie

limits.h nagłówka określa różne właściwości różnych typów zmiennych.Jest zdefiniowana w pliku nagłówkowym makro ogranicza typów zmiennych (takich jak char, int, i długi) wartości.

Ograniczenia te są określone zmienna nie może przechowywać dowolną wartość poza te granice, takie jak symbol, który może być przechowywany ma maksymalna wynosi 255.

makro biblioteki

Poniższe wartości są specyficzne dla implementacji i jest określona przez #define dyrektywy, wartości te nie są niższe od wartości podanych poniżej.

描述
CHAR_BIT 8定义一个字节的比特数。
SCHAR_MIN-128定义一个有符号字符的最小值。
SCHAR_MAX127定义一个有符号字符的最大值。
UCHAR_MAX 255定义一个无符号字符的最大值。
CHAR_MIN0定义类型 char 的最小值,如果 char 表示负值,则它的值等于 SCHAR_MIN,否则等于 0。
CHAR_MAX127定义类型 char 的最大值,如果 char 表示负值,则它的值等于 SCHAR_MAX,否则等于 UCHAR_MAX。
MB_LEN_MAX 1定义多字节字符中的最大字节数。
SHRT_MIN-32768定义一个短整型的最小值。
SHRT_MAX +32767定义一个短整型的最大值。
USHRT_MAX 65535定义一个无符号短整型的最大值。
INT_MIN -32768定义一个整型的最小值。
INT_MAX +32767定义一个整型的最大值。
UINT_MAX65535定义一个无符号整型的最大值。
LONG_MIN -2147483648定义一个长整型的最小值。
LONG_MAX +2147483647定义一个长整型的最大值。
ULONG_MAX 4294967295定义一个无符号长整型的最大值。

Przykłady

Poniższy przykład demonstruje użycie limit.h niektórych stałych zdefiniowanych w pliku.

#include <stdio.h>
#include <limits.h>

int main()
{

   printf("The number of bits in a byte %d\n", CHAR_BIT);

   printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);
   printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
   printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);

   printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);
   printf("The maximum value of SHORT INT = %d\n", SHRT_MAX); 

   printf("The minimum value of INT = %d\n", INT_MIN);
   printf("The maximum value of INT = %d\n", INT_MAX);

   printf("The minimum value of CHAR = %d\n", CHAR_MIN);
   printf("The maximum value of CHAR = %d\n", CHAR_MAX);

   printf("The minimum value of LONG = %ld\n", LONG_MIN);
   printf("The maximum value of LONG = %ld\n", LONG_MAX);
  
   return(0);
}

Załóżmy, skompilować i uruchomić powyższy program, który przyniesie następujące wyniki:

The number of bits in a byte 8
The minimum value of SIGNED CHAR = -128
The maximum value of SIGNED CHAR = 127
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -32768
The maximum value of INT = 32767
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -2147483648
The maximum value of LONG = 2147483647