22/08/2018, 11:14

limits.h trong C

limits.h trong C Header file có tên limits.h trong Thư viện C xác định các thuộc tính đa dạng của các kiểu biến khác nhau. Các macro, được định nghĩa trong header này, giới hạn giá trị của các kiểu biến đa dạng như char, int, và long. Các giới hạn này xác ...

limits.h trong C

Header file có tên limits.h trong Thư viện C xác định các thuộc tính đa dạng của các kiểu biến khác nhau. Các macro, được định nghĩa trong header này, giới hạn giá trị của các kiểu biến đa dạng như char, int, và long.

Các giới hạn này xác định rằng một biến không thể chứa bất cứ giá trị nào vượt quá các giới hạn đó, ví dụ: một unsigned char có thể giữ một giá trị tối đa là 255.

Các macro được định nghĩa trong limits.h

Các giá trị sau là trình triển khai riêng và được định nghĩa với chỉ thị #define, nhưng các giá trị này không thể là chữ thường.

Macro Giá trị Miêu tả
CHAR_BIT 8 Định nghĩa số bit trong một byte
SCHAR_MIN -128 Định nghĩa giá trị nhỏ nhất cho một signed char
SCHAR_MAX 127 Định nghĩa giá trị lớn nhất cho một signed char
UCHAR_MAX 255 Định nghĩa giá trị lớn nhất cho một unsigned char
CHAR_MIN 0 Định nghĩa giá trị nhỏ nhất cho một kiểu char và giá trị của nó là bằng với SCHAR_MIN nếu char biểu diễn các giá trị âm, nếu không là 0
CHAR_MAX 127 Định nghĩa giá trị nhỏ nhất cho một kiểu char và giá trị của nó là bằng với SCHAR_MAX nếu char biểu diễn các giá trị âm, nếu không là UCHAR_MAX
MB_LEN_MAX 1 Định nghĩa số byte tối đa trong một multi-byte char (ký tự được biểu diễn bởi nhiều byte)
SHRT_MIN -32768 Định nghĩa giá trị nhỏ nhất cho một short int
SHRT_MAX +32767 Định nghĩa giá trị lớn nhất cho một short int
USHRT_MAX 65535 Định nghĩa giá trị lớn nhất cho một unsigned short int
INT_MIN -32768 Định nghĩa giá trị nhỏ nhất cho một int
INT_MAX +32767 Định nghĩa giá trị lớn nhất cho một int
UINT_MAX 65535 Định nghĩa giá trị lớn nhất cho một unsigned int
LONG_MIN -2147483648 Định nghĩa giá trị nhỏ nhất cho một long int
LONG_MAX +2147483647 Định nghĩa giá trị lớn nhất cho một long int
ULONG_MAX 4294967295 Định nghĩa giá trị lớn nhất cho một unsigned long int

Ví dụ

Chương trình C sau minh họa cách sử dụng của một số hằng được định nghĩa trong limits.h.

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

int main()
{

   printf("So bit de bieu dien mot byte la %d
", CHAR_BIT);

   printf("Gia tri nho nhat cua SIGNED CHAR = %d
", SCHAR_MIN);
   printf("Gia tri lon nhat cua SIGNED CHAR = %d
", SCHAR_MAX);
   printf("Gia tri lon nhat cua UNSIGNED CHAR = %d
", UCHAR_MAX);

   printf("Gia tri nho nhat cua SHORT INT = %d
", SHRT_MIN);
   printf("Gia tri lon nhat cua SHORT INT = %d
", SHRT_MAX); 

   printf("Gia tri nho nhat cua INT = %d
", INT_MIN);
   printf("Gia tri lon nhat cua INT = %d
", INT_MAX);

   printf("Gia tri nho nhat cua CHAR = %d
", CHAR_MIN);
   printf("Gia tri lon nhat cua CHAR = %d
", CHAR_MAX);

   printf("Gia tri nho nhat cua LONG = %ld
", LONG_MIN);
   printf("Gia tri lon nhat cua LONG = %ld
", LONG_MAX);
  
   return(0);
}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Chạy macro  trong limits.h

Theo Tutorialspoint

Bài trước: float.h trong C

Bài tiếp: locale.h trong C 

0