Kiểu dữ liệu trong C++
Trong C++, các kiểu dữ liệu được sử dụng để phân loại các loại dữ liệu khác nhau mà một chương trình có thể xử lý. Chúng rất cần thiết để xác định loại giá trị mà một biến có thể chứa và dung lượng bộ nhớ mà nó sẽ chiếm. Một số kiểu dữ liệu cơ bản trong C++ bao gồm số nguyên, số dấu chấm động, ký tự và kiểu dữ liệu booleans
Các kiểu dữ liệu cơ bản
Số nguyên (int)
Số nguyên là số nguyên có thể lưu trữ cả giá trị dương và âm. Kích thước của int phụ thuộc vào cấu trúc hệ thống (thường là 4 byte).
Ví dụ:
int num = 42;
Có các biến thể của int có thể chứa các dãy số khác nhau:
- short (short int): Phạm vi nhỏ hơn int.
- long(long int): Phạm vi lớn hơn int.
- long long (long long int): Phạm vi thậm chí còn lớn hơn long int.
Dấu chấm động (float, double)
Các loại dấu chấm động đại diện cho các số thực, tức là các số có dấu thập phân. Có hai loại dấu phẩy động chính:
- float: Cung cấp các số dấu chấm động có độ chính xác đơn. Nó thường chiếm 4 byte bộ nhớ. Ví dụ:
float pi = 3.14f;
- double: Cung cấp các số dấu phẩy động có độ chính xác kép. Nó tiêu tốn nhiều bộ nhớ hơn (thường là 8 byte) nhưng có độ chính xác cao hơn float.
Ví dụ:
double pi_high_precision = 3.1415926535;
Kí tự (char)
Các ký tự đại diện cho một ký tự đơn lẻ, chẳng hạn như một chữ cái, chữ số hoặc ký hiệu. Chúng được lưu trữ bằng cách sử dụng giá trị ASCII của ký hiệu và thường chiếm 1 byte bộ nhớ.
Ví dụ:
char letter = 'A';
Boolean (bool)
Booleans đại diện cho các giá trị logic: true hoặc false. Chúng thường chiếm 1 byte bộ nhớ.
Ví dụ:
bool is_cpp_great = true;
Các kiểu dữ liệu dẫn xuất
Các kiểu dữ liệu dẫn xuất là các kiểu bắt nguồn từ các kiểu dữ liệu cơ bản. Một số ví dụ bao gồm:
Mảng
Mảng được sử dụng để lưu trữ nhiều giá trị của cùng một kiểu dữ liệu trong các vị trí bộ nhớ liên tiếp.
Ví dụ:
int numbers[5] = {1, 2, 3, 4, 5};
Con trỏ
Con trỏ được sử dụng để lưu trữ địa chỉ bộ nhớ của một biến.
Ví dụ:
int num = 42;
int* pNum = #
Tham chiếu
Tham chiếu là một cách khác để chia sẻ vị trí bộ nhớ giữa các biến, cho phép bạn tạo bí danh cho một biến khác.
Ví dụ:
int num = 42;
int& numRef = num;
Kiểu dữ liệu do người dùng định nghĩa
Các kiểu dữ liệu do người dùng định nghĩa là các kiểu được người lập trình định nghĩa, chẳng hạn như cấu trúc, lớp và liên kết.
Cấu trúc (struct)
Các cấu trúc được sử dụng để nhóm các biến thuộc các loại dữ liệu khác nhau dưới một tên duy nhất.
Ví dụ:
struct Person {
string name;
int age;
float height;
};
Person p1 = {"John Doe", 30, 5.9};
Lớp (class)
Lớp tương tự như các cấu trúc, nhưng chúng cũng có thể có các hàm thành viên và chỉ định truy cập.
Ví dụ:
class Person {
public:
string name;
int age;
void printInfo() {
cout << "Name: " << name << ", Age: " << age << endl;
};
};
Person p1;
p1.name = "John Doe";
p1.age = 30;
Các liên kết (Union)
Các liên kết được sử dụng để lưu trữ các loại dữ liệu khác nhau trong cùng một vị trí bộ nhớ.
Ví dụ:
union Data {
int num;
char letter;
float decimal;
};
Data myData;
myData.num = 42;