Khác biệt giữa biến cục bộ và biến toàn cục – Happy Company

Trong hướng dẫn này, bạn sẽ học về sự khác biệt giữa biến cục bộ và biến toàn cục và:

  • Phạm vi của các biến
  • Định nghĩa về biến cục bộ
  • Định nghĩa về biến toàn cục
  • Biến cục bộ so với Biến toàn cục
  • Ưu điểm của việc sử dụng các biến Toàn cục
  • Ưu điểm của việc sử dụng Biến cục bộ
  • Nhược điểm của việc sử dụng các biến Toàn cục
  • Nhược điểm của việc sử dụng Biến cục bộ
  • Điều gì là hữu ích hơn?

Biến là gì?

Biến là tên được gán cho một vùng lưu trữ mà chương trình có thể thao tác. Một kiểu biến xác định kích thước và cách bố trí bộ nhớ của biến.

Nó cũng xác định phạm vi giá trị cần được lưu trữ bên trong bộ nhớ đó và bản chất của các hoạt động có thể được áp dụng cho biến đó.

Phạm vi của các biến

Phạm vi của biến chỉ đơn giản là thời gian tồn tại của một biến. Nó là khối mã mà theo đó một biến có thể áp dụng hoặc tồn tại. Ví dụ:

function foo () { var x; }

Bạn khai báo một biến “x” bên trong một hàm “foo.” Phạm vi của biến đó vẫn ở bên trong hàm đó, nó không thể được sử dụng bên ngoài hàm đó.

Có ba nơi mà bạn có thể khai báo ngôn ngữ lập trình biến:

  • Bên trong một hàm hoặc một khối: Các biến cục bộ
  • Bên ngoài tất cả các hàm: Biến toàn cục
  • Trong định nghĩa của tham số hàm: Tham số chính thức

Ví dụ về Biến cục bộ

public int add () { int a = 4; int b = 5; trả về a + b; }

Ở đây, ‘a’ và ‘b’ là các biến cục bộ

Thí dụ:

int a = 4; int b = 5; public int add () { trả về a + b; }

Ở đây, ‘a’ và ‘b’ là các biến toàn cục.

Sự khác biệt giữa biến cục bộ và biến toàn cục

Tham số Địa phương Toàn cầu

Phạm vi

Nó được khai báo bên trong một hàm. Nó được khai báo bên ngoài hàm. Giá trị Nếu nó không được khởi tạo, một giá trị rác sẽ được lưu trữ Nếu nó không được khởi tạo, số không được lưu trữ như mặc định. Cả đời Nó được tạo ra khi hàm bắt đầu thực thi và bị mất khi các hàm kết thúc. Nó được tạo trước khi quá trình thực thi toàn cục của chương trình bắt đầu và bị mất khi chương trình kết thúc. Chia sẻ dữ liệu Không thể chia sẻ dữ liệu vì dữ liệu của biến cục bộ chỉ có thể được truy cập bởi một hàm. Có thể chia sẻ dữ liệu vì nhiều hàm có thể truy cập vào cùng một biến toàn cục.

Thông số

Truyền tham số là bắt buộc đối với các biến cục bộ để truy cập giá trị trong hàm khác Việc truyền tham số là không cần thiết đối với một biến toàn cục vì nó có thể nhìn thấy trong suốt chương trình Sửa đổi giá trị biến Khi giá trị của biến cục bộ được sửa đổi trong một hàm, các thay đổi sẽ không hiển thị trong một hàm khác. Khi giá trị của biến toàn cục được sửa đổi trong một hàm, các thay đổi của hàm sẽ hiển thị trong phần còn lại của chương trình. Được truy cập bởi Các biến cục bộ có thể được truy cập với sự trợ giúp của các câu lệnh, bên trong một hàm mà chúng được khai báo. Bạn có thể truy cập các biến toàn cục bằng bất kỳ câu lệnh nào trong chương trình. Bộ nhớ lưu trữ Nó được lưu trữ trên ngăn xếp trừ khi được chỉ định. Nó được lưu trữ trên một vị trí cố định do trình biên dịch quyết định.

Ưu điểm của việc sử dụng các biến Toàn cục

  • Bạn có thể truy cập biến toàn cục từ tất cả các hàm hoặc mô-đun trong một chương trình
  • Bạn chỉ yêu cầu khai báo biến toàn cục thời gian duy nhất bên ngoài mô-đun.
  • Nó được sử dụng lý tưởng để lưu trữ “hằng số” vì nó giúp bạn giữ được tính nhất quán.
  • Biến Global hữu ích khi nhiều hàm đang truy cập vào cùng một dữ liệu.

Ưu điểm của việc sử dụng Biến cục bộ

  • Sử dụng các biến cục bộ cung cấp một đảm bảo giá trị của biến nguyên vẹn trong khi tác vụ đang chạy
  • Nếu một số tác vụ thay đổi một biến duy nhất đang chạy đồng thời. Thì kết quả có thể không thể đoán trước được. Nhưng việc khai báo nó là biến cục bộ sẽ giải quyết được vấn đề này. Vì mỗi tác vụ sẽ tạo phiên bản riêng của biến cục bộ.
  • Bạn có thể đặt cùng tên cho các biến cục bộ trong các hàm khác nhau. Vì chúng chỉ được công nhận bởi hàm mà chúng được khai báo.
  • Các biến cục bộ sẽ bị xóa ngay khi bất kỳ chức năng nào kết thúc và giải phóng không gian bộ nhớ mà nó chiếm.

Nhược điểm của việc sử dụng Biến toàn cục

  • Quá nhiều biến được khai báo là toàn cục, sau đó chúng vẫn còn trong bộ nhớ cho đến khi hoàn thành việc thực thi chương trình. Điều này có thể gây ra sự cố Hết bộ nhớ.
  • Dữ liệu có thể được sửa đổi bởi bất kỳ chức năng nào. Bất kỳ câu lệnh nào được viết trong chương trình đều có thể thay đổi giá trị của biến toàn cục. Điều này có thể cho kết quả không thể đoán trước trong môi trường đa tác vụ.
  • Nếu các biến toàn cục bị ngừng do cấu trúc lại mã, bạn sẽ cần phải thay đổi tất cả các mô-đun nơi chúng được gọi.

Nhược điểm của việc sử dụng Biến cục bộ

  • Quá trình gỡ lỗi của một biến cục bộ khá phức tạp.
  • Dữ liệu chung được yêu cầu chuyển nhiều lần vì không thể chia sẻ dữ liệu giữa các mô-đun.
  • Chúng có một phạm vi rất hạn chế.

Điều gì là hữu ích hơn?

Biến cục bộ và toàn cục quan trọng như nhau trong khi viết chương trình bằng bất kỳ ngôn ngữ nào. Tuy nhiên, một số lượng lớn biến toàn cục có thể chiếm một bộ nhớ lớn. Một thay đổi không mong muốn đối với các biến toàn cục trở nên khó xác định. Do đó, nên tránh khai báo các biến toàn cục không mong muốn.

Tham khảo thêm: 15 cuốn sách kỹ thuật phần mềm hay nhất.