Admin
23/08/2023
Share
Biến được khai báo trong thân hàm (nằm giữa cặp dấu ngoặc nhọn {}) được gọi là biến cục bộ.
Biến cục bộ chỉ tồn tại và chỉ có thể truy cập bên trong hàm mà nó được định nghĩa. Khi hàm kết thúc, biến cục bộ sẽ bị hủy.
Chương trình C++ minh họa biến cục bộ
#include <iostream>
using namespace std;
void test()
{
// local variable to test()
int var1;
var1 = 6;
// illegal: var not declared inside test()
cout << var;
}
int main()
{
// local variable to main()
int var = 5;
test();
// illegal: var1 not declared inside main()
var1 = 9;
}
Trong ví dụ trước, biến var không thể được sử dụng trong hàm test() và biến var1 không thể được sử dụng trong hàm main().
Biến được khai báo trong một khối lệnh nằm trong cặp dấu ngoặc nhọn { }. Biến này chỉ có thể sử dụng trong khối lệnh đó và được xem là biến cục bộ. Dưới đây là ví dụ minh họa.
for(int i=0;i<5;i++){
cout<<i<<endl;
}
Câu lệnh for sử dụng biến int i, biến i chỉ có hiệu lực trong câu lệnh for và sẽ bị hủy sau khi câu lệnh for được thực thi xong.
2. Biến toàn cục (global variable)
Nếu một biến được định nghĩa ở bên ngoài của tất cả các hàm thì chúng được gọi là biến toàn cục.
Biến toàn cục có thể được sử dụng và thay đổi giá trị trong suốt chương trình, từ khi khai báo đến khi chương trình kết thúc.
Chương trình C++ minh họa biến toàn cục
#include <iostream>
using namespace std;
// Global variable declaration
int c = 12;
void test()
{
++c;
// Outputs 14
cout << c;
}
int main()
{
++c;
// Outputs 13
cout << c <<endl;
test();
system("pause");
}
Kết quả
13
14
“C” là biến toàn cục trong chương trình trên. Nó có thể được sử dụng tại bất kỳ đâu trong chương trình, bao gồm cả trong hàm main() và hàm test().
3. Phạm vi của biến (variable scope)
Khái niệm về phạm vi biến (variable scope) được áp dụng dựa trên hai khái niệm là biến toàn cục và biến cục bộ. Điều này giúp chúng ta tránh những lỗi logic liên quan đến dữ liệu của biến trong chương trình.
4. Quá trình khởi tạo và sử dụng các biến khi gọi hàm
Phần này sẽ trình bày cơ chế khởi tạo, sử dụng biến và hủy biến khi gọi hàm qua các ví dụ.
Khi truyền tham trị
Ví dụ, chúng ta có một hàm thêm và việc gọi hàm thêm như sau.
int add(int x, int y)
{
return x + y;
}
int main(){
cout<<add(4,5);
system("pause");
}
Hàm add(4,5) sẽ truyền giá trị 4 vào biến x của tham số đầu tiên và gán giá trị 5 vào biến y của tham số thứ hai.
Biến x và y được khai báo làm tham số của hàm add. Chúng được sử dụng như là các biến cục bộ trong hàm add. Khi hàm kết thúc, các biến tham số này sẽ bị hủy và giá trị của chúng sẽ không còn tồn tại.