Biến toàn cục và biến cục bộ trong chương trình

Chúng tôi rất vui mừng chia sẻ kiến thức về từ khóa Bien cuc bo la gi để tối ưu hóa nội dung trang web và tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích từ khóa và chiến lược hiệu quả. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi để cập nhật kiến thức mới.

1. Biến cục bộ (local variable)

Một biến được khai báo trong hàm (bên trong thân hàm giữa cặp dấu ngoặc nhọn { }) được gọi là biến cục bộ.

Bạn Đang Xem: Biến toàn cục và biến cục bộ trong chương trình

Phạm vi của biến cục bộ chỉ giới hạn trong hàm mà biến được khái niệm. Tức là biến cục bộ chỉ tồn tại và chỉ có thể được truy cập bên trong hàm. Biến cục bộ sẽ bị hủy khi hàm kết thúc.

Lớp học C++ minh họa biến cục bộ

#include <iostreamvàgt; 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ên, biến var không thể sử dụng trong hàm test() and biến var1 không thể sử dụng trong hàm main().

Lưu ý: Một biến được khai báo trong một khối lệnh trong cặp dấu ngoặc nhọn { }. Biến này cũng chỉ được sử dụng trong khối lệnh đó cũng được xem là biến cục bộ. Xem ví dụ phía bên dưới.

for(int i=0;ivàlt;5;i++){ coutvàlt;<ivàlt;<endl; }

Xem Thêm : Nhu cầu Vốn lưu động (Working capital requirements) là gì? Cách tính nhu cầu vốn lưu động

Biến int i thuộc về câu lệnh for. Biến i chỉ được sử dụng trong câu lệnh for, khi thực thi xong câu lệnh for thì biến i cũng trở thành hủy.

2. Biến toàn cục (global variable)

Nếu một biến được khái niệm ở phía ngoài của tất cả những hàm thì chúng được gọi là biến toàn cục.

Phạm vi của biến toàn cục là trong toàn bộ lớp học. Tức là, biến toàn cục có thể được sử dụng và bị thay đổi giá trị trong bất kỳ đâu trong lớp học sau thời điểm được khai báo. Biến toàn cục chỉ bị hủy khi lớp học kết thúc.

Lớp học C++ minh họa biến toàn cục

#include <iostreamvàgt; 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

Trong lớp học trên, “c” là biến toàn cục. Biến “c” có thể được sử dụng ở bất kỳ đâu trong lớp học, trong cả hàm main()hàm test().

3. Phạm vi của biến (variable scope)

Với những khái niệm về biến toàn cục và biến cục bộ, tất cả chúng ta có khái niệm phạm vi của biến (variable scope). Lưu ý về variable scope để tránh bị lỗi logic về tài liệu của biến trong lớp học.

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ị

Xem Thêm : Cách dùng hàm MOD trong Excel kèm ví dụ minh họa chi tiết

Ví dụ, ta có một hàm add và lời gọi hàm add như phía bên dưới.

int add(int x, int y) { return x + y; } int main(){ coutvàlt;<add(4,5); system(“pause”); }

với lời gọi hàm add(4,5) thì giá trị 4 sẽ truyền vào cho biến x của thông số trước nhất, giá trị 5 sẽ tiến hành gán cho biến y của thông số thứ hai.

Biến xy được khai báo làm thông số của hàm add. Hai biến này đóng vai trò như thể biến cục bộ hoạt động bên trong hàm add. Vì thế, tại thời khắc kết thúc phiên thao tác của hàm, các biến thông số này sẽ bị hủy và những giá trị được truyền vào không còn tồn tại.

Khi truyền tham chiếu

Ví dụ, ta có một hàm increase và lời gọi hàm increase như phía bên dưới.

void increase(int &a) { a++; } int main(){ int x=0; increase(x); coutvàlt;<x; system(“pause”); }

với lời gọi hàm increase(x), thì không có biến cục bộ nào được khởi tạo trong hàm increase() mà giá trị tính toán trong hàm increase() sẽ gán trực tiếp cho biến x được truyền tham chiếu vào hàm.

Bài trước và bài sau trong môn họcvàlt;< Nạp chồng hàm (function overloading) là gì?Hàm đệ quy trong lập trình và minh họa với C++ >>

You May Also Like

About the Author: v1000