C++: Bài 6. Phạm vi của biến
Phạm vi là một khu vực của chương trình và thường có 3 khu vực chính như sau:
- Trong một hàm hay một khối, biến trong này gọi là biến cục bộ, nó chỉ có tác dụng trong hàm chứa nó.
- Trong định nghĩa các tham số hay đối số của hàm, nó có tác dụng để nhận dữ liệu được truyền đi từ lời gọi hàm.
- Bên ngoài hàm, gọi là biến toàn cục, dùng được trong tất cả các hàm.
Biến cục bộ (local)
Là biến được khai báo bên trong hàm hoặc khối, gọi là biến cục bộ. Nó chỉ có thể được sử dụng trong hàm chứa nó. Ví dụ:
#include <iostream> using namespace std; int main() { // Khai báo biến cục bộ: int a, b; int c; // gán giá trị cho biến: a = 10; b = 20; c = a + b; cout << c; return 0; }
Biến toàn cục (global)
Là biến được định nghĩa bên ngoài tất cả các hàm, được sử dụng bên trong các hàm. Nó có đặc điểm là tồn tại trong toàn bộ chương trình. Ví dụ:
#include <iostream> using namespace std; // khai báo biến toàn cục: int g; int main () { // khai báo biến cục bộ: int a, b; // gán giá trị cho biến a = 10; b = 20; g = a + b; cout << g; return 0; }
Trong một chương trình cho phép biến cục bộ và biến toàn cục trùng tên nhau nhưng giá trị của của biến cục bộ trong hàm sẽ được ưu tiên. Ví dụ:
#include<iostream> using namespace std; // khai báo biến toàn cục: int g=20; main(){ // khai báo biến cục bộ: int g=10; cout<<g; return 0; }
Kết quả thực thi của đoạn code trên:
10
Khởi tạo các biến cục bộ và toàn cục
Khi một biến cục bộ được tạo thì nó không được khởi tạo bởi hệ thống, bạn phải tự khởi tạo nó. Các biến toàn cục được khởi tạo tự động bởi hệ thống khi bạn định nghĩa chúng như sau:
Kiểu dữ liệu | Bộ khởi tạo |
---|---|
int | 0 |
char | '\0' |
float | 0 |
double | 0 |
pointer | NULL |
Thực hành lập trình tốt là khởi tạo các biến đúng cách, nếu không, đôi khi chương trình sẽ tạo ra kết quả không mong muốn.