Local & Global Variables
- A local variable is a variable that is declared inside a subroutine and can only be accessed from within that subroutine
- A global variable is a variable that is declared outside of a subroutine and can be accessed from anywhere in the program
- Global variables can be used to pass data between different subroutine
- Overuse of global variables can make a program difficult to understand and debug and is therefore discouraged as it’s considered bad practice
Pseudocode example:
global total_score
FUNCTION calculate_average(num1: INTEGER, num2: INTEGER)
average ← (num1 + num2) / 2
RETURN average
END FUNCTION
total_score ← 0
PROCEDURE add_score(score: INTEGER)
total_score ← total_score + score
END PROCEDURE
Python example:
def calculate_average(num1, num2):
average = (num1 + num2) / 2
return average
total_score = 0
def add_score(score):
global total_score
total_score = total_score + score
Java example:
static int totalScore = 0;
public static void main(String args[]) {
double average = calculateAverage(5, 7);
System.out.println("Average: " + average);
addScore(10);
System.out.println("Total score: " + totalScore);
}
public static double calculateAverage(int num1, int num2) {
double average = (num1 + num2) / 2.0;
return average;
}
public static void addScore(int score) {
totalScore = totalScore + score;
}
Visual Basic example:
Dim totalScore As Integer = 0
Dim average As Double = CalculateAverage(5, 7)
Console.WriteLine("Average: " & average)
AddScore(10)
Console.WriteLine("Total score: " & totalScore)
Function CalculateAverage(num1 As Integer, num2 As Integer) As Double
Dim average As Double = (num1 + num2) / 2.0
Return average
End Function
Sub AddScore(score As Integer)
totalScore = totalScore + score
End Sub