전역 변수와 지역 변수의 특징을 요약하면 다음과 같습니다.
표 3-1 | 전역 변수와 지역 변수의 특징
전역 변수 |
지역 변수 |
• 함수 밖에서 선언 • 어떤 함수에서도 접근 가능하고 사용 가능 • 프로그램이 끝날 때까지 살아 있는 변수 |
• 함수 안에서 선언 • 변수가 선언된 함수 안에서만 사용 가능 • 함수가 끝나면 사라지는 변수(변수가 사용한 메모리를 반환) |
지역 변수와 전역 변수의 특징을 예제를 통해 확인해 보겠습니다.
global_variable.c
#include <stdio.h> int a = 1; // ➊ 전역 변수 void func1(); main() { int b = 2; // ➋ 지역 변수 printf("여기는 main() 함수입니다.\n"); printf("main() 함수에서 a값은 %d 입니다.\n", a); // ➌ a값 출력 printf("main() 함수에서 b값은 %d 입니다.\n", b); func1(); // ➍ 함수 호출 } void func1() { printf("여기는 func1 함수입니다.\n"); printf("func1 함수에서 a값은 %d입니다.\n", a); // ➎ a값 출력 printf("func1 함수에서 b값은 %d입니다.\n", b); // ➏ b값 출력 }