C Kitaplığı - <limits.h>
limits.hbaşlık, çeşitli değişken türlerinin çeşitli özelliklerini belirler. Bu başlıkta tanımlanan makrolar, char, int ve long gibi çeşitli değişken türlerinin değerlerini sınırlar.
Bu sınırlar, bir değişkenin bu sınırların ötesinde herhangi bir değer depolayamayacağını belirtir; örneğin, işaretsiz bir karakter maksimum 255 değerine kadar saklayabilir.
Kitaplık Makroları
Aşağıdaki değerler uygulamaya özgüdür ve #define yönergesi ile tanımlanmıştır, ancak bu değerler burada verilenden daha düşük olamaz.
Makro | Değer | Açıklama |
---|---|---|
CHAR_BIT | 8 | Bir bayttaki bit sayısını tanımlar. |
SCHAR_MIN | -128 | İşaretli bir karakter için minimum değeri tanımlar. |
SCHAR_MAX | +127 | İşaretli bir karakter için maksimum değeri tanımlar. |
UCHAR_MAX | 255 | İşaretsiz bir karakter için maksimum değeri tanımlar. |
ÇEKİCİ | -128 | Char türü için minimum değeri tanımlar ve char negatif değerleri temsil ediyorsa, değeri SCHAR_MIN'e eşit olur, aksi takdirde sıfır. |
CHAR_MAX | +127 | Char türünün değerini tanımlar ve char negatif değerleri temsil ediyorsa, değeri SCHAR_MAX'a eşit olacaktır, aksi takdirde UCHAR_MAX. |
MB_LEN_MAX | 16 | Çok baytlı bir karakterde maksimum bayt sayısını tanımlar. |
SHRT_MIN | -32768 | Kısa int için minimum değeri tanımlar. |
SHRT_MAX | +32767 | Kısa int için maksimum değeri tanımlar. |
USHRT_MAX | 65535 | İşaretsiz bir kısa int için maksimum değeri tanımlar. |
INT_MIN | -2147483648 | Bir int için minimum değeri tanımlar. |
INT_MAX | +2147483647 | Bir int için maksimum değeri tanımlar. |
UINT_MAX | 4294967295 | İşaretsiz bir tamsayı için maksimum değeri tanımlar. |
LONG_MIN | -9223372036854775808 | Bir uzun int için minimum değeri tanımlar. |
LONG_MAX | +9223372036854775807 | Bir uzun int için maksimum değeri tanımlar. |
ULONG_MAX | 18446744073709551615 | İşaretsiz bir uzun int için maksimum değeri tanımlar. |
Misal
Aşağıdaki örnek, içinde tanımlanan sabitlerden birkaçının kullanımını gösterir. limits.h dosya.
#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);
}
Aşağıdaki sonucu verecek olan yukarıdaki programı derleyip çalıştıralım -
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 = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807