Updated April 7, 2023
Difference between Local Variables vs Global Variable
In any programming, language variables are classified into local and global variables for declaring any variable that will store some value along with space in the memory for the program to execute. In general, local variables are defined as variables that are and can be declared within any function or any statement block, and such variables are called local variables, whereas Global variables are defined as variables that are and can be declared outside any function or any statement block but within the program in the most cases at the beginning of the program these variables are declared and such variables are called as Global variables.
Head to Head Comparison between Local Variables vs Global Variable (Infographics)
Below are the top 10 differences between Local Variables vs Global Variable:
Key Differences between Local Variables vs Global Variable
Following are the Key differences between Local Variables vs Global Variable are given below:
1. Scope and Accessibility
The scope of a global variable is defined and declared in such a way that these global variables are available or the scope of these variables remains throughout the program which means to ay functions or any statement blocks and accessibility of these global variables is such that these variables can be accessed anywhere from the program or any function or any statement block these variables can be accessed but within the program not outside the program. Whereas Local variables are defined and declared in such a way where these local variables are made available or the scope of these local variables remains only within that function or any statement block in which these local variables are defined and the accessibility of these variables is such that these variables can be accessed only within those functions or statement blocks in which these variables are defined but not outside or throughout the program.
2. Initializations
Initializations of the global variables are initialized by the system and are not initialized by any developers or ourselves and the initializations of global variables are not initialized with any values by the system then it will store zero as value. Whereas local variable initialization is not done by the system instead the developers or we can initialize these variables and if the initialization is not done by developers then it stored the garbage value and not zero as in global variables.
3. Usability and Example
Global variables are used where the variables are required to be accessed throughout the program which includes all functions or any statement blocks within the program by only declaring once the same data which is declared at the beginning can be used. Whereas, local variables are used only when any particular function or any statement block requires a variable declaration and these are only defined within that function and are also used only with that function.
Example
Below are the C programs that show both global and local variable declarations, wherein the Global variable’s example the variables are declared outside the main function, and in the local variable example the variables are declared within the main function is.
Global Variables:
#include <stdio.h>
int p = 10, q = 20;
void main()
{
printf("Demonstration of Global variables in C programming language is as follows:");
printf("\n");
printf("The values of global variables are as follows: ");
printf("p = %d and q = %d",p,q);
}
Output:
Local Variables:
#include <stdio.h>
void main()
{
int p = 70, q = 80;
printf("Demonstration of Global variables in C programming language is as follows:");
printf("\n");
printf("The values of global variables are as follows: ");
printf("p = %d and q = %d",p,q);
}
Output:
Local Variables vs Global Variable Comparison Table
Comparison between Local Variables vs Global Variable is given below:
Sr. No |
Global Variables |
Local Variables |
1 | Global variables can be defined as variables that are used for declaring variables globally which means at the beginning of the program or outside the function or any statement block but within the program. | Local variables can be defined as variables that are used to declare within any function or any statement block which means inside any function or statement blocks. |
2 | Global variables are declared usually at the beginning of any program before defining any function or blocks. | Local variables are declared at the beginning of any blocks or functions within the program. |
3 | Global variables when declared are in most cases initialized by the system instead of developers initializing it or if the system does not initialize then it stores zero as value, not any garbage value as in Local variable. | Local variables when declared are initialized by the developers but these are not initialized by the system as in Global variables or else if not initialized by the users then it will store some garbage values. |
4 | Global variables which are declared at the top of the beginning of the program are also created as the execution of the program starts and ends when the program ends. | Local variables which are declared at the top of any function or block are created when the function or any blocks starts the execution and these variables’ access are lost when the function in which this variable is declared terminates. |
5 | As Global variables are initialized by the system there are stored on some fixed memory location which is hence decided by the compiler. | As local variables are not initialized by the system they are usually stored on the stack. |
6 | Whenever we are accessing these global variables there is no necessity for these variables passed as parameters. | Whenever accessing these local variables there is a must for passing these variables as parameters |
7 | Any changes or a modification made to the values of global variables in any one function is visible or available to the entire or through the program. | Any changes or modifications made to the values of a local variable in any one function or any statement block is not available or visible to only that function but not visible to any other function. |
8 | In the case of a global variable, data sharing is possible as various functions in the program can be accessed by the same global variable | In the case of local variables, data sharing is not possible as the accessibility of local variable’s data can be accessed by only one function in which this local variable is declared. |
9 | The name given to the global variable cannot be changed while accessing it at any point of the program as it’s declared and defined only once at the starting of the program. | The name given to local variables in any different functions can be the same or different as these functions are made available to only those functions which they are declared within that function. |
10 | These variables can be accessed globally throughout the program. | These variables can be accessed locally or within the function or any statement blocks where these variables are declared. |
Conclusion
In this article we conclude that the global and local variables are both important in their perspective it depends on the program the developer is writing to chose between these variables and sometimes both can be used within one program. We should note that as global variables use a lot of memory than local variables so it’s sometimes recommendable to use local variables than global variables.
Recommended Articles
This is a guide to Local Variables vs Global Variable. Here we also discuss the Local Variables vs Global Variable key differences with infographics and a comparison table. You may also have a look at the following articles to learn more –