เราสามารถหาค่าสูงสุดและต่ำสุดของตัวแปร ตัวเลขจำนวนเต็ม (Integer) แต่ละชนิดในภาษา C ได้จากค่า Define ที่อยู่ใน ไฟล์ limit.h
ตารางด้านล่างนี้แสดง Define ที่ใช้สำหรับกำหนดค่าสูงสุด (Max) หรือต่ำสุด (Min)
ซึ่งสามารถนำเอาค่า Define มา print แสดงค่าได้ โดย Include ไฟล์ limit.h ดัง Source code ตัวอย่าง
#include <stdio.h>
#include <limits.h> /* For limits on integer types */
int main(void)
{
//unsigned char
printf("min unsigned char = 0\n");
printf("max unsigned char max = %u\n",UCHAR_MAX);
printf("size unsigned char = %d\n\n", sizeof(unsigned char));
//char
printf("min char = %d\n",CHAR_MIN);
printf("max char = %d\n", CHAR_MAX);
printf("size char = %d byte\n\n\n",sizeof(char));
//unsigned int
printf("min unsigned int = 0\n");
printf("max unsigned int = %u\n", UINT_MAX);
printf("size unsigned int = %d\n\n", sizeof(unsigned int));
//int
printf("min int = %d\n", INT_MIN);
printf("max int = %d\n", INT_MAX);
printf("size int = %d byte\n\n\n", sizeof(int));
//unsigned short
printf("min unsigned short = 0\n");
printf("max unsigned short = %u\n", USHRT_MAX);
printf("size unsigned short = %d\n\n", sizeof(unsigned short));
//short
printf("min short = %d\n",SHRT_MIN);
printf("max short = %d\n",SHRT_MAX);
printf("size short = %d byte\n\n\n",sizeof(short));
//unsigned long
printf("min unsigned long = 0\n");
printf("max unsigned long = %lu\n",ULONG_MAX);
printf("size unsigned long = %d\n\n",sizeof(unsigned long));
//long
printf("min long = %ld\n",LONG_MIN);
printf("max long = %ld\n",LONG_MAX);
printf("size long = %d byte\n\n\n", sizeof(long));
//unsigned logn long
printf("min unsigned long long = 0\n");
printf("max unsigned long long = %llu\n", ULLONG_MAX);
printf("min unsigned long long = %d\n\n", sizeof(unsigned long long));
//logn long
printf("min long long = %lld\n", LLONG_MIN);
printf("max long long = %lld\n", LLONG_MAX);
printf("size long long = %d byte\n\n\n", sizeof(long long));
return 0;
}
จะได้ผลลัพธ์ดังนี้ (Windows 7 32 bit, gcc 4.9.2)
min unsigned char = 0
max unsigned char max = 255
size unsigned char = 1
min char = -128
max char = 127
size char = 1 byte
min unsigned int = 0
max unsigned int = 4294967295
size unsigned int = 4
min int = -2147483648
max int = 2147483647
size int = 4 byte
min unsigned short = 0
max unsigned short = 65535
size unsigned short = 2
min short = -32768
max short = 32767
size short = 2 byte
min unsigned long = 0
max unsigned long = 4294967295
size unsigned long = 4
min long = -2147483648
max long = 2147483647
size long = 4 byte
min unsigned long long = 0
max unsigned long long = 18446744073709551615
min unsigned long long = 8
min long long = -9223372036854775808
max long long = 9223372036854775807
size long long = 8 byte