Scope

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.






Jenna Phipps
Jenna Phipps
Jenna Phipps is a contributor for websites such as Webopedia.com and Enterprise Storage Forum. She writes about information technology security, networking, and data storage. Jenna lives in Nashville, TN.

Top Articles

The Complete List of 1500+ Common Text Abbreviations & Acronyms

Text Abbreviations reviewed by Web Webster   From A3 to ZZZ we list 1,559 SMS, online chat, and text abbreviations to help you translate and understand...

How to Create a Website Shortcut on Your Desktop

Website Shortcut on Your Desktop reviewed by Web Webster   This Webopedia guide will show you how to create a website shortcut on your desktop using...

Windows Operating System History & Versions

The Windows operating system (Windows OS) refers to a family of operating systems developed by Microsoft Corporation. We look at the history of Windows...

First to Fifth Generations of Computers

Reviewed by Web Webster Learn about each of the 5 generations of computers and major technology developments that have led to the computing devices that...

Gap Analysis

Gap analysis is the process of assessing and comparing the differences between actual...

Copyright Infringement

Copyright infringement is the illegal use, production, or sale of materials copyrighted by...

Passphrase

What is a passphrase? A passphrase is a string of words used to help...