Biến toàn cục

Trong lập trình máy tính, biến toàn cục (tiếng Anh: global variable) là một biến có tầm vực toàn cục, nghĩa là nó có thể nhìn thấy (và do vậy truy xuất được) trong toàn bộ chương trình, trừ khi bị che (variable shadowing). Tập hợp tất cả các biến toàn cục được gọi là môi trường toàn cục (global environment) hay trạng thái toàn cục (global state). Trong các ngôn ngữ biên dịch, biến toàn cục nói chung là biến tĩnh (static variable), có phạm vi (thời gian sống) là toàn bộ thời gian chạy của chương trình, mặc dù trong các ngôn ngữ thông dịch (bao gồm bộ thông dịch dòng lệnh (command-line interpreter)), biến toàn cục thường được cấp phát động khi định nghĩa, vì chúng không được biết trước thời hạn. Trong một số ngôn ngữ, tất cả các biến đều là toàn cục, hay mặc định là toàn cục, trong khi ở hầu hết các ngôn ngữ hiện đại, các biến có tầm vực giới hạn, thường là tầm vực từ vựng (lexical scope), mặc dù biến toàn cục thường có sẵn bằng cách định nghĩa một biến ở cấp cao nhất của chương trình. Tuy nhiên trong các ngôn ngữ khác, biến toàn cục không tồn tại; đây thường là các ngôn ngữ lập trình mô đun vốn thực thi cấu trúc mô đun, hay ngôn ngữ lập trình hướng đối tượng dựa trên lớp vốn thực thi cấu trúc lớp. Biến cục bộ Biến phi cục bộ Singleton pattern Biến Biến tĩnh Biến ngoài