What are local variables and global variables in C++?


A scope is a region of the program and broadly speaking there are three places, where variables can be declared −

  •  Inside a function or a block which is called local variables,
  •  In the definition of function parameters which is called formal parameters.
  •  Outside of all functions which are called global variables.

Local variables can be used only by statements that are inside that function or block of code. Local variables are not known to functions on their own. 

Example

#include <iostream>
using namespace std;
int main () {
   // Local variable declaration:
   int a, b;
   int c;

   // actual initialization
   a = 10;
   b = 20;
   c = a + b;

   cout << c;
   return 0;
}

Output

This will give the output −

30

Global variables are defined outside of all the functions, usually on top of the program. The global variables will hold their value throughout the lifetime of your program. A global variable can be accessed by any function. 

Example

#include <iostream>
using namespace std;
// Global variable declaration:
int g;
int main () {
   // Local variable declaration:
   int a, b;

   // actual initialization
   a = 10;
   b = 20;
   g = a + b;

   cout << g;
   return 0;
}

Output

This will give the output −

30

A program can have the same name for local and global variables but the value of a local variable inside a function will take preference. For accessing the global variable with same rame, you'll have to use the scope resolution operator. 

Example

#include <iostream>
using namespace std;
// Global variable declaration:
int g = 20;
int main () {
   // Local variable declaration:
   int g = 10;

   cout << g;   // Local
   cout << ::g; // Global
   return 0;
}

Output

This will give the output −

10
20

Samual Sam
Samual Sam

Learning faster. Every day.

Updated on: 11-Feb-2020

7K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements