Module: (C++) Chương trình con: thủ tục và hàm - 1


Problem

9 /12


Biến cục bộ và biến toàn cục

Theory Click to read/hide

Biến cục bộ và biến toàn cục
Thường cần phải sử dụng các biến bổ sung sẽ chỉ được sử dụng trong chương trình con. Các biến như vậy được gọi là cục bộ (hoặc cục bộ) và chỉ có thể được thao tác trong chương trình con nơi chúng được tạo.
 
Phạm vi biến cục bộ là khối được khai báo trong dấu ngoặc nhọn

Chương trình chính trong C++ cũng là chương trình con nên tất cả các biến được khai báo bên trong main() đều là biến cục bộ.
Các chương trình con khác không "biết" gì về các biến cục bộ của các chương trình con khác.

Như vậy, có thể giới hạn phạm vi (scope) của một biến chỉ cho chương trình con ở những nơi thực sự cần thiết. Trong lập trình, kỹ thuật này được gọi là đóng gói  - ẩn một biến khỏi bị thay đổi từ bên ngoài.

Nếu cần khai báo một biến có thể nhìn thấy ở bất kỳ đâu trong chương trình (trong bất kỳ chương trình con nào), thì các biến đó được khai báo bên ngoài tất cả các chương trình con (xem chương trình 3 trong bảng bên dưới).
Các biến như vậy được gọi là toàn cục.

Trong C++, khi chương trình bắt đầu, tất cả các biến toàn cục sẽ tự động được đặt thành 0 (các biến boolean nhận giá trị false).


Phân tích ba chương trình: được hiển thị trên màn hình

Problem

Viết thủ tục với tham số n hiển thị cây thông Noel với vương miện có chiều cao n.
Chương trình chính phải chứa đầu vào là giá trị của biến n và lệnh gọi thủ tục.
 
 
Ví dụ
1) Trong chương trình này, biến i là cục bộ. Biến cục bộ được khai báo bên trong chương trình con 2) Ở đây, ngay cả khi có một biến i trong chương trình chính (với giá trị 7), một biến cục bộ mới i với giá trị 5 sẽ được tạo. 
Khi chạy chương trình này, màn hình sẽ hiển thị giá trị 75
3) Chương trình này có biến toàn cục i. Giá trị của nó có thể được thay đổi bên trong chương trình con và bên trong chương trình chính
Thủ tục sẽ làm việc với biến toàn cục i và nó sẽ được gán giá trị mới bằng 2. Giá trị 2
kiểm tra khoảng trống() {   int tôi = 5; cout << Tôi; } kiểm tra khoảng trống() {   int tôi = 5;   cout << Tôi; } chủ yếu() { int tôi = 7;   cout << Tôi;   Bài kiểm tra(); } #include <iostream> sử dụng không gian tên std; int tôi; kiểm tra khoảng trống() {   tôi = 2; } chủ yếu() { Bài kiểm tra(); cout << Tôi; }
<đầu>
# Đầu vào Đầu ra
1 5     o    ooo   ooooo  ooooooo ooooooooo