Kiểu dữ liệu trong C
Kiểu dữ liệu xác định tập giá trị và loại dữ liệu lưu trữ trong biến. Phân loại:
- Kiểu cơ bản (Primary): integer, character, floating-point, double.
- Kiểu dẫn xuất (Derived): mảng, con trỏ, cấu trúc, union...
1. Kiểu nguyên (Integral Types)
Integer
| Kiểu | Kích thước (byte) | Phạm vi | Định dạng |
| short int / signed short int | 1 | -128 đến 127 | %h |
| unsigned short int | 1 | 0 đến 255 | %uh |
| int / signed int | 4 | -32768 đến 32767 | %d hoặc %i |
| unsigned int | 4 | 0 đến 65535 | %u |
| long int / signed long int | 4 | -2147483648 đến 2147483647 | %ld |
| unsigned long int | 4 | 0 đến 4294967295 | %lu |
Character
| Kiểu | Kích thước | Phạm vi | Định dạng |
| char / signed char | 1 | -128 đến 127 | %c |
| unsigned char | 1 | 0 đến 255 | %c |
2. Kiểu thực (Floating-point Types)
| Kiểu | Kích thước | Phạm vi | Định dạng |
| float | 4 | 3.4E-38 đến 3.4E+38 | %f |
| double | 8 | 1.7E-308 đến 1.7E+308 | %lf |
| long double | 16 | 3.4E-4932 đến 1.1E+4932 | %Lf |
Chương trình in bảng phạm vi (dùng limits.h)
#include <stdio.h>
#include <limits.h>
int main() {
printf("KIEU DU LIEU\t\t PHAM VI\n");
printf("-----------\t\t---------\n");
printf("short min\t\t%d\n", SHRT_MIN);
printf("short max\t\t%d\n", SHRT_MAX);
printf("int min\t\t\t%d\n", INT_MIN);
printf("int max\t\t\t%d\n", INT_MAX);
printf("char min\t\t%d\n", CHAR_MIN);
printf("char max\t\t%d\n", CHAR_MAX);
printf("long min\t\t%ld\n", LONG_MIN);
printf("long max\t\t%ld\n", LONG_MAX);
printf("unsigned char\t\t%u\n", UCHAR_MAX);
printf("unsigned long\t\t%lu\n", ULONG_MAX);
printf("unsigned int\t\t%u\n", UINT_MAX);
printf("unsigned short\t\t%u\n", USHRT_MAX);
return 0;
}
Kết quả (ví dụ trên hệ thống 32-bit)
KIEU DU LIEU PHAM VI
----------- ---------
short min -32768
short max 32767
int min -2147483648
int max 2147483647
char min -128
char max 127
long min -2147483648
long max 2147483647
unsigned char 255
unsigned long 4294967295
unsigned int 4294967295
unsigned short 65535