C ไลบรารี - <LIMIT.h>
limits.hส่วนหัวกำหนดคุณสมบัติต่างๆของตัวแปรชนิดต่างๆ มาโครที่กำหนดไว้ในส่วนหัวนี้ จำกัด ค่าของตัวแปรประเภทต่างๆเช่น char, int และ long
ขีด จำกัด เหล่านี้ระบุว่าตัวแปรไม่สามารถจัดเก็บค่าใด ๆ เกินขีด จำกัด เหล่านี้ได้ตัวอย่างเช่นอักขระที่ไม่ได้ลงชื่อสามารถจัดเก็บค่าได้สูงสุด 255
แมโครไลบรารี
ค่าต่อไปนี้เป็นค่าเฉพาะการนำไปใช้งานและกำหนดด้วย #define directive แต่ค่าเหล่านี้ต้องไม่ต่ำกว่าที่ระบุไว้ที่นี่
มาโคร | มูลค่า | คำอธิบาย |
---|---|---|
CHAR_BIT | 8 | กำหนดจำนวนบิตเป็นไบต์ |
SCHAR_MIN | -128 | กำหนดค่าต่ำสุดสำหรับถ่านที่เซ็นชื่อ |
SCHAR_MAX | +127 | กำหนดค่าสูงสุดสำหรับถ่านที่เซ็นชื่อ |
UCHAR_MAX | 255 | กำหนดค่าสูงสุดสำหรับถ่านที่ไม่ได้ลงชื่อ |
CHAR_MIN | -128 | กำหนดค่าต่ำสุดสำหรับชนิด char และค่าจะเท่ากับ SCHAR_MIN หาก char แทนค่าลบหรือเป็นศูนย์ |
CHAR_MAX | +127 | กำหนดค่าสำหรับชนิด char และค่าจะเท่ากับ SCHAR_MAX หาก char แทนค่าลบหรือ UCHAR_MAX |
MB_LEN_MAX | 16 | กำหนดจำนวนไบต์สูงสุดในอักขระแบบหลายไบต์ |
SHRT_MIN | -32768 | กำหนดค่าต่ำสุดสำหรับ int สั้น ๆ |
SHRT_MAX | +32767 | กำหนดค่าสูงสุดสำหรับ int สั้น ๆ |
USHRT_MAX | 65535 | กำหนดค่าสูงสุดสำหรับ int สั้นที่ไม่ได้ลงนาม |
INT_MIN | -2147483648 | กำหนดค่าต่ำสุดสำหรับ int |
INT_MAX | +2147483647 | กำหนดค่าสูงสุดสำหรับ int |
UINT_MAX | 4294967295 | กำหนดค่าสูงสุดสำหรับ int ที่ไม่ได้ลงนาม |
LONG_MIN | -9223372036854775808 | กำหนดค่าต่ำสุดสำหรับ int ยาว |
LONG_MAX | +9223372036854775807 | กำหนดค่าสูงสุดสำหรับ int ยาว |
ULONG_MAX | 18446744073709551615 | กำหนดค่าสูงสุดสำหรับ int ยาวที่ไม่ได้ลงนาม |
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงการใช้ค่าคงที่ไม่กี่ค่าที่กำหนดใน limits.h ไฟล์.
#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);
}
ให้เรารวบรวมและเรียกใช้โปรแกรมข้างต้นซึ่งจะให้ผลลัพธ์ดังต่อไปนี้ -
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