[c] 함수의 범위

함수가 호출될 때마다 해당 함수의 로컬 변수가 생성되고, 함수가 종료되면 해당 변수는 파괴됩니다. 이를 지역 변수라고 합니다.

또한, 함수 외부에서 선언된 변수는 전역 범위를 갖습니다. 이는 프로그램 내의 모든 함수에서 접근이 가능합니다.

#include <stdio.h>

int globalVar = 10;  // 전역 변수

void myFunction() {
    int localVar = 20;  // 로컬 변수
    printf("로컬 변수 값: %d\n", localVar);
    printf("전역 변수 값: %d\n", globalVar);
}

int main() {
    myFunction();
    // printf("로컬 변수 값: %d\n", localVar);  // 오류: localVar에 접근 불가
    printf("전역 변수 값: %d\n", globalVar);
    return 0;
}

위의 예시에서 myFunction 내부의 localVar는 로컬 변수이므로 main 함수에서 접근할 수 없습니다. 반대로 globalVar는 전역 변수이므로 모든 함수에서 접근 가능합니다.

함수의 범위를 이해하면 변수를 효과적으로 활용하고, 프로그램의 구조를 잘 설계할 수 있습니다.