Trusted answers to developer questions

What is scope?

Free System Design Interview Course

Many candidates are rejected or down-leveled due to poor performance in their System Design Interview. Stand out in System Design Interviews and get hired in 2024 with this popular free course.

The scope of a variable is the region of space where the value of that variable is valid.

The main reason for a scope is to keep variables with the same names confined to separate parts of a program. Programmers may use the same variable names repeatedly; therefore, the scope defines the region in which that variable is valid.

widget

There are two types of scope:

  1. Global Scope
  2. Local Scope

They are both described in detail below.

1. Global Scope

Variables defined in the global scope can be accessed anywhere throughout the program. They are available to all the functions across the program.

Remember: global variables are available from the point they are defined until the end of the scope. This is a major reason why most global variables are declared at the start, to ensure their availability across the program.

#include <iostream>
using namespace std;
string name = "Alex"; // declare a global variable
int main() {
name= "Bob"; // update the value of variable in function
cout << name << endl; //print variable
return 0;
}

2. Local Scope

Variables defined in the local scope are only available inside the functions, loops, or classes in which they are defined.

Remember: global variables can exist with the same name; however, the compiler will always consider the variables within the local scope first. This means that global variables will not be called if a similar local variable exists.

This is shown below.

#include <iostream>
using namespace std;
//declare a global variable x
int x = 100;
int main() {
//declare a local variable x
int x = 10;
//update the value of x
x += 10;
//print value of x
cout << x << endl;
return 0;
}

The above example suggests that if a global variable needs to be updated, it should be ensured that no local variable with the same name exists or that the scope resolution operator is used.

RELATED TAGS

python
c++
scope
Copyright ©2024 Educative, Inc. All rights reserved
Did you find this helpful?