Các kiểu dữ liệu trong C ( int - float - double - char ...)
Trong bài viết này chúng ta sẽ tìm hiểu các kiểu dữ liệu trong C như: Kiểu số thực (float), số nguyên (int), ký tự (char), ... và nhiều kiểu dữ liệu quan trọng khác.
C là ngôn ngữ rất khó tính, bạn không thể gán dữ liệu kiểu float cho biến được khai báo kiểu int. Vì vậy khi tạo một biến bạn cần phải xác định rõ là dữ liệu cần lưu là gì để khai báo cho phù hợp. Và sau đây là danh sách data type trong C thường được sử dụng nhất.
1. Bảng các kiểu dữ liệu trong C
Trước tiên hãy xem bảng tóm tắt các kiểu dữ liệu cơ bản trong C đã nhé, và chúng ta sẽ lần lượt tìm hiểu từng loại ở các phần tiếp theo.
Type | Size (bytes) | Format Specifier |
---|---|---|
int | 2 -> 4 | %d, %i |
char | 1 | %c |
float | 4 | %f |
double | 8 | %lf |
short int | 2 | %hd |
unsigned int | 2 -> 4 | %u |
long int | 4 -> 8 | %ld, %li |
long long int | 8 | %lld, %lli |
unsigned long int | 4 | %lu |
unsigned long long int | 8 | %llu |
signed char | 1 | %c |
unsigned char | 1 | %c |
long double | 10 -> 16 | %Lf |
2. Chi tiết kích thước các kiểu dữ liệu trong C
Kiểu int
Int là chữ viết tắt của Integer, đây là kiểu số nguyên âm hoặc nguyên dương và không có giá trị thập phân.
Bài viết này được đăng tại [free tuts .net]
Ví dụ:
- 0, 10, -7 là các số nguyên
- 0.4, 0.7 không phải là số nguyên
Để khai báo một biến kiểu int thì ta sử dụng cú pháp như sau:
int ten_bien;
Ngoài ra ta có thể khai báo nhiều biến liên tiếp như sau:
int id, age;
Kích thước của kiểu Int thường là 4 bytes (32 bits), tức giao động vào khoảng -2147483648
đến 2147483647
.
Kiểu float và double
Đây là kiểu số thực, dùng để chứa những số có dấu phẩy động. Ví dụ 2.5
và 5.6
là những số thực.
Dưới đây là cách khai báo biến kiểu số thực:
float salary; double price;
Trong C, số dấu phẩy động cũng có thể được biểu diễn theo cấp số nhân. Ví dụ
float normalizationFactor = 22.442e2;
Câu hỏi đặt ra là sự khác nhau giữa float và double là gì?
Về tính chất thì cả hai giống nhau, chỉ khác nhau về kích thước như sau:
- float có kích thước 4 bytes
- double có kích thước 8 bytes
Kiểu char
Kiểu char rất đặt biệt, nó dùng để lưu trữ một ký tự bất kì, và ký tự đó phải ở định dạng chuỗi. Vì vậy khi gán giá trị cho nó ta phải dùng dấu nháy để bao quanh ký tự cần gán lại.
Ví dụ:
char test = 'h';
Kích thước của kiểu char là 1 byte.
Kiểu void
Đây là kiểu dữ liệu khá đặt biệt, nó có ý nghĩa không là gì cả, thường được dùng trong những function không có giá trị trả về. Vấn đề này chúng ta sẽ học ở những bài tiếp theo nhé.
Kiểu short và long
Nếu bạn muốn lưu trữ một con số rất lớn và kiểu dữ liệu hiện tại không đáp ứng được thì hãy thêm từ khóa long
vào lúc khai báo nhé. Ví dụ:
long a; long long b; long double c;
Còn nếu bạn chắc chắn số nguyên lưu trữ sẽ rất nhỏ nên không cần phải phí phạm kích thước thì hãy sư dụng từ khóa short
nhé.
short d;
Bây giờ chúng ta thử xem kích thước của các kiểu dữ liệu bằng cách dùng hàm sizeof().
#include <stdio.h> int main() { short a; long b; long long c; long double d; printf("size of short = %d bytes\n", sizeof(a)); printf("size of long = %d bytes\n", sizeof(b)); printf("size of long long = %d bytes\n", sizeof(c)); printf("size of long double= %d bytes\n", sizeof(d)); return 0; }
Kết quả thu được như sau:
Trên là danh sách các kiểu dữ liệu thường dùng trong ngôn ngữ C, bạn phải nhớ kích thước và công dụng của từng kiểu để sau này sử dụng cho phù hợp nhé. Ví dụ muốn lưu trữ số nguyên thì dùng kiểu int, số thực thì kiểu float hoặc double, ký tự thì kiểu char.
Vẫn còn một số kiểu nâng cao nữa như: Mảng, Pointer, Object, nhưng ta sẽ học nó ở những bài nâng cao.