Main » TERM » S »

Scope Definition & Meaning

Scope in programming is the space in code where a variable is both defined and visible. Scope differentiates regions of a program and the way the program defines and uses variables. If a variable has one specific definition throughout the entire program, regardless of the function in which it appears, its scope is global. Globally-scoped variables are the same in all of the source code. In contrast, local scope defines a variable for one particular function; it only exists within that function.

The definition of scope is a bit misleading; it also refers to how a variable functions within a program, not just the area in which the variable is definable and visible. The term scope indicates just the area covered, not the action performed; researchers and developers understand the limitations of the term and understand that scope means both the definition and behavior of a variable.

Static vs. dynamic scope

Static (lexical) and dynamic scope are two kinds of scope that occur in programming; static is by far the more common. If a program scopes statically, or lexically, a variable within a function will return its assigned value for that scope whenever that function runs. For example, if a variable x = 5 in a given function, and a subsequent conditional definition for x is also provided, x = 5 wherever the program's scope defines it as such.

Dynamic scope, however, calls the most recent definition of that variable, regardless of the program's structure. In the above example, if x = 5 but then x was later defined with a value of 10, a program with a dynamic scope would call x = 10 if that value had been most recently used. Dynamic scope is less structured than static scope; it pulls variable definitions from the call stack instead of the area in which it would be logically defined.

Texting & Chat Abbreviations

From A3 to ZZZ we list 1,559 text message and online chat abbreviations to help you translate and understand today's texting lingo. Includes Top... Read More »

Huge List of Computer Certifications

Have you heard about a computer certification program but can't figure out if it's right for you? Use this handy list to help you decide. Read More »

Computer Architecture Study Guide

Computer architecture provides an introduction to system design basics for most computer science students. Read More »

Network Fundamentals Study Guide

Networking fundamentals teaches the building blocks of modern network design. Learn different types of networks, concepts, architecture and... Read More »

The Five Generations of Computers

Learn about each of the five generations of computers and major technology developments that have led to the computing devices that we use... Read More »