C++: Bài 6. Phạm vi của biến


Đăng ký nhận thông báo về những video mới nhất

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 cc 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 cc:
  int g;

int main () {
  // khai báo biến cc 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 cc:
  int g=20;

main(){
  // khai báo biến cc 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.


Nếu bạn có điều thắc mắc, bạn hãy comment cho V1Study để được giải đáp.
Bài viết này được chia sẻ bởi LongDT. Nếu bạn muốn chia sẻ bài viết, bạn hãy Đăng ký làm thành viên!
« Prev
Next »
Copied !!!