Lập trình C++ – Kiểu dữ liệu trong C++

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 đó.

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