Local and Global Variable in C & C++

Local and Global Variable in C & C++

In C programming, a variable is a container that stores data values that can be accessed and manipulated during program execution. Variables can be categorized into two main types, local and global variables.

Local variables are declared inside a function or block of code and have limited scope. They can only be accessed within the function or block where they are declared. Once the function or block is exited, the local variable is destroyed and its value is lost. Local variables are useful for temporary storage of data that is required only within a specific function or block.

For example, consider the following function:

void exampleFunction() {

   int x = 5; // local variable

   printf("The value of x is: %d", x);

}

In this function, x is a local variable that can only be accessed within the exampleFunction() block. When the function is exited, the value of x is destroyed.

Global variables, on the other hand, are declared outside any function or block of code and have a global scope. They can be accessed and manipulated by any function or block of code within the program. Global variables are useful for storing data that needs to be accessed by multiple functions or blocks of code.

For example:

#include <stdio.h>

 

int globalVariable = 10; // global variable

 

void exampleFunction() {

   printf("The value of the global variable is: %d", globalVariable);

}

 

int main() {

   exampleFunction();

   return 0;

}

In this example, globalVariable is a global variable that can be accessed and manipulated by both the exampleFunction() and main() functions. The output of this program would be:

The value of the global variable is: 10

It's important to note that global variables can have unintended consequences in larger programs because any function can modify their values, leading to unexpected behavior. Therefore, it's best practice to limit the use of global variables and instead use local variables whenever possible.


Comments