Biến và kiểu dữ liệu trong C++
Tìm hiểu biến trong C++, kiểu dữ liệu cơ bản, các cách khởi tạo và lỗi thường gặp như thu hẹp và tràn số.
Bài thứ hai trong loạt C++ cơ bản. Dữ liệu sống trong biến, và mỗi biến có một kiểu cho trình biên dịch biết cách diễn giải các bit của nó.
Biến là gì?#
Biến là một vùng nhớ có tên, chứa một giá trị. Bạn phải khai báo kiểu trước khi dùng:
int age = 30;
double price = 19.99;
std::string name = "Ada";
bool done = false;cppCác kiểu dữ liệu cơ bản#
| Kiểu | Kích thước (thường) | Chứa gì |
|---|---|---|
bool | 1 byte | true hoặc false |
char | 1 byte | một ký tự, ví dụ 'A' |
int | 4 byte | số nguyên |
double | 8 byte | số thực dấu chấm động |
void | — | không có giá trị (cho hàm) |
Dùng int cho số đếm và double cho giá trị phân số. Dùng long, short và unsigned khi cần phạm vi khác.
Các cách khởi tạo#
C++ có nhiều cách khởi tạo biến:
int a = 5; // khởi tạo sao chép
int b(5); // khởi tạo trực tiếp
int c{5}; // khởi tạo ngoặc nhọn (C++11+)
int d{}; // khởi tạo giá trị thành 0cppNên dùng khởi tạo ngoặc nhọn {}. Nó loại bỏ việc thu hẹp — giá trị làm mất dữ liệu — ngay lúc biên dịch.
Tràn số và thu hẹp#
short s = 40000; // có thể tràn: 40000 > max short (32767)
int x = 3.7; // thu hẹp: 3.7 âm thầm thành 3cppVới ngoặc nhọn những dòng này lỗi biên dịch thay vì âm thầm làm hỏng dữ liệu.
Hằng số có tên#
Dùng const cho giá trị không được thay đổi:
const double PI = 3.14159;cppGiá trị const dễ suy luận và trình biên dịch có thể tối ưu chúng.
In và đọc dữ liệu#
#include <iostream>
int main() {
int age;
std::cout << "Enter your age: ";
std::cin >> age;
std::cout << "You are " << age << " years old.\n";
}cppKết luận#
Kiểu định nghĩa biến chứa được gì và phép toán nào có nghĩa. Bài tiếp theo trong loạt: luồng điều khiển.