Perpustakaan C - <batas.h>
Itu limits.hheader menentukan berbagai properti dari berbagai jenis variabel. Makro yang ditentukan di tajuk ini, membatasi nilai berbagai jenis variabel seperti char, int dan long.
Batasan ini menetapkan bahwa variabel tidak dapat menyimpan nilai apa pun di luar batas ini, misalnya karakter yang tidak bertanda tangan dapat menyimpan hingga nilai maksimum 255.
Makro Perpustakaan
Nilai berikut khusus untuk penerapan dan ditentukan dengan arahan #define, tetapi nilai ini mungkin tidak lebih rendah dari yang diberikan di sini.
Makro | Nilai | Deskripsi |
---|---|---|
CHAR_BIT | 8 | Mendefinisikan jumlah bit dalam satu byte. |
SCHAR_MIN | -128 | Mendefinisikan nilai minimum untuk karakter yang ditandatangani. |
SCHAR_MAX | +127 | Mendefinisikan nilai maksimum untuk karakter yang ditandatangani. |
UCHAR_MAX | 255 | Mendefinisikan nilai maksimum untuk unsigned char. |
CHAR_MIN | -128 | Mendefinisikan nilai minimum untuk tipe char dan nilainya akan sama dengan SCHAR_MIN jika char mewakili nilai negatif, jika tidak nol. |
CHAR_MAX | +127 | Mendefinisikan nilai untuk tipe char dan nilainya akan sama dengan SCHAR_MAX jika char mewakili nilai negatif, jika tidak UCHAR_MAX. |
MB_LEN_MAX | 16 | Menentukan jumlah maksimum byte dalam karakter multi-byte. |
SHRT_MIN | -32768 | Mendefinisikan nilai minimum untuk int pendek. |
SHRT_MAX | +32767 | Mendefinisikan nilai maksimum untuk int pendek. |
USHRT_MAX | 65535 | Mendefinisikan nilai maksimum untuk short int unsigned. |
INT_MIN | -2147483648 | Mendefinisikan nilai minimum untuk sebuah int. |
INT_MAX | +2147483647 | Mendefinisikan nilai maksimum untuk sebuah int. |
UINT_MAX | 4294967295 | Mendefinisikan nilai maksimum untuk sebuah unsigned int. |
LONG_MIN | -9223372036854775808 | Mendefinisikan nilai minimum untuk int panjang. |
LONG_MAX | +9223372036854775807 | Mendefinisikan nilai maksimum untuk int panjang. |
ULONG_MAX | 18446744073709551615 | Mendefinisikan nilai maksimum untuk sebuah int panjang unsigned. |
Contoh
Contoh berikut menunjukkan penggunaan beberapa konstanta yang ditentukan di limits.h mengajukan.
#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);
}
Mari kita kompilasi dan jalankan program di atas yang akan menghasilkan hasil sebagai berikut -
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