Trong bài này chúng ta sẽ tìm hiểu khái niệm về biến toàn cục và biến cục bộ trong C++, qua bài này sẽ giúp bạn hiểu rõ phạm vi của hai loại biến này.
Trong C++ cũng như các ngôn ngữ lập trình khác, biến có thể khai báo ở 3 nơi như sau:
- Biến được khai báo bên trong một hàm hoặc block, ta gọi nó là biến cục bộ (local variable)
- Biến được sử dụng như là tham số của hàm, ta gọi nó là tham số hình thức (formal parameter)
- Biến được khai báo ở bên ngoài tất cả các hàm, ta gọi nó là biến toàn cục (global variable)
Trong bài học hôm nay chúng ta sẽ tìm hiểu về biến cục bộ (local variable) và biến toàn cục (global variable). Còn phần tham số hình thức (formal parameter) chúng ta sẽ tìm hiểu trong một bài khác.
1. Biến cục bộ trong C++
Biến cục bộ (Local variable) là biến được khai báo bên trong một hàm hoặc một block. (Tất cả những gì ở giữa dấu “{” và “}” chúng ta gọi là block).
Bài viết này được đăng tại [kiso.vn]
Biến cục bộ chỉ có phạm vi sử dụng bên trong một hàm hoặc một block. Chúng ta không thể truy cập và sử dụng biến cục bộ ở bên ngoài hàm hoặc block.
Ví dụ 1: Chúng ta khai báo biến cục bộ c bên trong 1 hàm, và biến cục bộ d bên trong 1 block.
#include <iostream> using namespace std; int Tong(int a, int b) { int c = 0; // c la bien cuc bo c = a + b; { cout << "Gia tri bien c ben trong block: " << c << "n"; int d = 40; // d la bien cuc bo khai bao ben trong mot block cout << "Gia tri bien d ben trong block: " << d << "n"; } cout << "Gia tri bien c ben trong ham: " << c << "n"; return c; } int main () { Tong(1,2); return 0; }
Và kết quả sau khi thực thi đoạn code trên:
Ví dụ 2: Chúng ta thử truy cập biến cục bộ bên ngoài một hàm, block
#include <iostream> using namespace std; int Tong(int a, int b) { int c = 0; // c la bien cuc bo c = a + b; { cout << "Gia tri bien c ben trong block: " << c << "n"; int d = 40; // d la bien cuc bo khai bao ben trong mot block cout << "Gia tri bien d ben trong block: " << d << "n"; } cout << "Gia tri bien d ben trong ham: " << d << "n"; cout << "Gia tri bien c ben trong ham: " << c << "n"; return c; } void In() { cout << "Gia tri cua bien c: " << c << "n"; cout << "Gia tri cua bien d: " << d << "n"; } int main () { Tong(1,2); In(); return 0; }
Và kết quả sau khi thực thi đoạn code trên:
2. Biến toàn cục trong C++
Biến toàn cục (global variable) là biến được khai báo bên ngoài tất cả các hàm. Chúng ta có thể truy cập và sử dụng biến toàn cục ở bất kỳ đâu của chương trình. Thường thì chúng ta nên khai báo biến toàn cục trên đầu của chương trình.
Ví dụ: Chúng ta cùng xem ví dụ đơn giản có sử dụng biến toàn cục như sau:
#include <iostream> using namespace std; int g; //g la bien toan cuc int Tong (int a, int b) { { g = 100; cout << "Gia tri cua bien g ben trong block: " << g << "n"; } g = a + b; cout << "Gia tri cua bien g ben trong ham: " << g << "n"; } int main () { Tong(10, 11); return 0; }
Và kết quả sau khi thực thi đoạn code trên như sau:
3. Giá trị mặc định của biến toàn cục và biến cục bộ trong C++
Khi biến cục bộ được khởi tạo thì nó không được khởi tạo giá trị bởi hệ thống, chúng ta phải tự khởi tạo giá trị cho biến cục bộ.
Khi biến toàn cục được khởi tạo thì nó được hệ thống khởi tạo giá trị một cách tự động. Giá trị khởi tạo cho biến toàn cục bởi hệ thống như sau:
Kiểu dữ liệu | Giá trị |
int | 0 |
char | ‘ |