Mỗi biến trong C ++ có một kiểu cụ thể, xác định kích thước và cách bố trí bộ nhớ của biến; phạm vi giá trị có thể được lưu trữ trong bộ nhớ đó; và tập hợp các thao tác có thể áp dụng cho biến. Chúng tôi khai báo một biến bằng cách sử dụng ký hiệu -
type variableName;
Kiểu có thể là kiểu nguyên thủy (int, bool, float, char, v.v.), kiểu liệt kê, con trỏ đến kiểu khác hoặc kiểu phức tạp hơn được xác định bởi cấu trúc dữ liệu hoặc lớp.
Phạm vi biến
Phạm vi là một vùng của chương trình và nói rộng ra thì có ba vị trí, nơi các biến có thể được khai báo -
- Bên trong một hàm hoặc một khối được gọi là biến cục bộ,
- Trong định nghĩa của các tham số hàm được gọi là tham số chính thức.
- Bên ngoài tất cả các hàm được gọi là biến toàn cục.
Các biến cục bộ chỉ có thể được sử dụng bởi các câu lệnh nằm bên trong hàm hoặc khối mã đó. Các biến cục bộ không được biết đến đối với các hàm của riêng chúng.
Ví dụ
#include <iostream> using namespace std; int main () { // Local variable declaration: int a, b; int c; // actual initialization a = 10; b = 20; c = a + b; cout << c; return 0; }
Đầu ra
Điều này sẽ cung cấp đầu ra -
30
Các biến toàn cục được định nghĩa bên ngoài tất cả các hàm, thường nằm trên đầu chương trình. Các biến toàn cục sẽ giữ giá trị của chúng trong suốt thời gian tồn tại của chương trình của bạn. Một biến toàn cục có thể được truy cập bởi bất kỳ hàm nào.
Ví dụ
#include <iostream> using namespace std; // Global variable declaration: int g; int main () { // Local variable declaration: int a, b; // actual initialization a = 10; b = 20; g = a + b; cout << g; return 0; }
đầu ra
Điều này sẽ cung cấp đầu ra -
30
Một chương trình có thể có cùng tên cho các biến cục bộ và toàn cục nhưng giá trị của một biến cục bộ bên trong một hàm sẽ được ưu tiên hơn. Để truy cập biến toàn cục với cùng một rame, bạn sẽ phải sử dụng toán tử phân giải phạm vi.
Ví dụ
#include <iostream> using namespace std; // Global variable declaration: int g = 20; int main () { // Local variable declaration: int g = 10; cout << g; // Local cout << ::g; // Global return 0; }
đầu ra
Điều này sẽ cung cấp đầu ra -
10 20