CÁC KIỂU DỮ LIỆU CĂN BẢN TRONG C++
Kiểu dữ liệu trong C++ khi làm việc với bất kỳ ngôn ngữ lập trình nào, bạn cần sử dụng các kiểu dữ liệu đa dạng để lưu giữ thông tin. Các biến, không gì khác ngoài các vị trí bộ nhớ được dành riêng để lưu giá trị. Nghĩa là, khi bạn tạo một biến, bạn dành riêng một số không gian trong bộ nhớ cho biến đó.
Bạn có thể thích lưu thông tin của các kiểu dữ liệu (Data Type) đa dạng như Character, Wide Character, integer, floating-point, double floating point, Boolean, …. Dựa trên kiểu dữ liệu của một biến, hệ thống sẽ cấp phát bộ nhớ và quyết định những gì có thể được lưu giữ trong bộ nhớ dành riêng đó.
Kiểu dữ liệu căn bản trong C++
Tên tiếng Anh là Primitive Type, còn có thể gọi là kiểu dữ liệu gốc, kiểu dữ liệu có sẵn trong C++. Bên cạnh các kiểu dữ liệu gốc này, C++ cũng cung cấp các kiểu dữ liệu user-defined. Các hình bên dưới liệt kê 7 kiểu dữ liệu căn bản sử dụng trong C++:
Loại dữ liệu | Kiểu dữ liệu | Số ô nhớ | Miền giá trị |
Boolean | bool | 1 byte | 0 hoặc 1. Trong đó 0 => FALSE và 1 => TRUE |
Loại dữ liệu | Kiểu dữ liệu | Số ô nhớ | Miền giá trị |
Số nguyên | int | 4 byte | -2147483648 tới 2147483647 |
Loại dữ liệu | Kiểu dữ liệu | Số ô nhớ | Miền giá trị |
Ký tự | char | 1 byte | 127 tới 127 hoặc 0 tới 255 |
Loại dữ liệu | Kiểu dữ liệu | Số ô nhớ | Miền giá trị |
Số thực | float | 4 byte | +/- 3.4e +/- 38 (~7 chữ số) |
Loại dữ liệu | Kiểu dữ liệu | Số ô nhớ | Miền giá trị |
Số thực | double | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) |
Kiểu dữ kiệu | Số ô nhớ | Miền giá trị |
wchar_t | 2 hoặc 4 byte | 1 wide character |
Một số kiểu căn bản có thể được sửa đổi bởi sử dụng một hoặc nhiều modifier này:
- signed (kiểu có dấu)
- unsigned (kiểu không có dấu)
- short
- long
Bảng bên dưới hiển thị kiểu dữ liệu, lượng ô nhớ nó dùng để lưu giá trị trong bộ nhớ, và giá trị lớn nhất và nhỏ nhất có thể được lưu giữ với các kiểu dữ liệu đó:
Loại dữ liệu | Kiểu dữ liệu | Số ô nhớ | Miền giá trị |
Boolean | bool | 1 byte | 0 hoặc 1. Trong đó 0 => FALSE và 1 => TRUE |
Ký tự | char | 1 byte | -127 tới 127 hoặc 0 tới 255 |
unsigned char | 1 byte | 0 tới 255 | |
signed char | 1 byte | -127 tới 127 | |
Số nguyên | int | 4 byte | -2147483648 tới 2147483647 |
unsigned int | 4 byte | 0 tới 4294967295 | |
signed int | 4 byte | -2147483648 tới 2147483647 | |
short int | 2 byte | -32768 tới 32767 | |
long int | 4 byte | -2,147,483,647 tới 2,147,483,647 | |
Số thực | float | 4 byte | +/- 3.4e +/- 38 (~7 chữ số) |
double | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) | |
long double | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) |
Kích cỡ của các biến có thể khác với những gì hiển thị trên bảng, phụ thuộc vào compiler và máy tính bạn đang sử dụng.
Dưới đây là ví dụ sẽ đưa ra kích cỡ chính xác của các kiểu dữ liệu đa dạng trên máy tính của bạn.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <iostream> using namespace std; int main() { cout << "Kich co cua char la: " << sizeof(char) << endl; cout << "Kich co cua int la: " << sizeof(int) << endl; cout << "Kich co cua short int la: " << sizeof(short int) << endl; cout << "Kich co cua long int la: " << sizeof(long int) << endl; cout << "Kich co cua float la: " << sizeof(float) << endl; cout << "Kich co cua double la: " << sizeof(double) << endl; cout << "Kich co cua wchar_t la: " << sizeof(wchar_t) << endl; return 0; } |
Ví dụ này sử dụng endl, mà chèn một ký tự newline (dòng mới) sau mỗi dòng, và toán tử << được sử dụng để truyền nhiều giá trị tới màn hình. Chúng tôi cũng sử dụng toán tử sizeof() để lấy kích cỡ của các kiểu dữ liệu đa dạng.
Khi code trên được biên dịch và thực thi, nó cho kết quả sau (kết quả có thể đa dạng tùy thuộc vào compiler và máy tính bạn đang sử dụng).
1 2 3 4 5 6 7 |
Kich co cua char la: 1 Kich co cua int la: 4 Kich co cua short int la: 2 Kich co cua long int la: 4 Kich co cua float la: 4 Kich co cua double la: 8 Kich co cua wchar_t la: 4 |
Bài viết tiếp theo sẽ được cập nhật trên Fanpage của laptrinhvien.io. Hãy theo dõi chúng tôi để tiếp tục cập nhật các loạt bài mới nhất về Lập trình Căn bản & C++, HTML, CSS, Javascript, Typescript, Angular, Node.js…
Bài viết của chúng tôi dựa trên nguồn tài liệu của: Tutorialspoint
TRUNG TÂM ĐÀO TẠO LẬP TRÌNH VIÊN JANETO
0933067997 – 0933267337
facebook.com/laptrinhvienio
tuyensinh@laptrinhvien.io
Tầng 2 Tòa nhà The Morning Star – 57 Quốc Lộ 13, Phường 26, Quận Bình Thạnh, TP. HCM.