Kiểu dữ liệu trong C++
Kiểu dữ liệu trong C++ xác định loại dữ liệu mà một biến có thể lưu trữ như số nguyên, số thực, ký tự vv.
Bạn có thể 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 đó.
Tóm Tắt
Kiểu dữ liệu nguyên cơ sở trong C++
Tên tiếng Anh là Primitive Type, còn có thể gọi là kiểu dữ liệu cơ sở, kiểu dữ liệu cơ bản, hay kiểu dữ liệu có sẵn trong C++. Bên cạnh các kiểu dữ liệu cơ sở này, C++ cũng cung cấp các kiểu dữ liệu do người dùng tự định nghĩa (user-defined). Bảng dưới đây liệt kê danh sách 7 kiểu dữ liệu cơ bản trong C++:
Kiểu dữ liệu
Từ khóa
Boolean
bool
Ký tự
char
Số nguyên
int
Số thực
float
Số thực dạng Double
double
Kiểu không có giá trị
void
Kiểu Wide character
wchar_t
Một số kiểu cơ bản có thể được sửa đổi bởi sử dụng một hoặc nhiều modifier sau:
- signed (kiểu có dấu)
- unsigned (kiểu không có dấu)
- short
- long
Các loại dữ liệu cơ sở
Các kiểu dữ liệu cơ bản dựa trên số nguyên và số thực. Ngôn ngữ C hỗ trợ cả signed và unsigned.
Kích thước bộ nhớ của các loại dữ liệu cơ bản có thể thay đổi theo hệ điều hành 32 hoặc 64 bit.
Hãy xem các kiểu dữ liệu cơ bản. Kích thước của nó được cho theo kiến trúc 32 bit.
Bảng sau hiển thị kiểu biến, lượng bộ 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 biến đó:
Kiểu
Kích thước bộ nhớ
Vùng giá trị
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
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
unsigned short int
Range
0 tới 65,535
signed short int
Range
-32768 tới 32767
long int
4 byte
-2,147,483,647 tới 2,147,483,647
signed long int
4 byte
Tương tự như long int
unsigned long int
4 byte
0 tới 4,294,967,295
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ố)
wchar_t
2 hoặc 4 byte
1 wide character
Ví dụ sử dụng toán tử để lấy gia kích cỡ kiểu dữ liệu
#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;
}
Kết quả:
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: 2