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