✅ 목표 (Goal)

✅ 지역 변수의 가시성

전역 변수와 지역변수의 이름이 같으면 뭐가 사용되나?

지역변수가 사용된다.

이를 지역변수의 가시성이라고 한다.

#include <stdio.h>

int x = 5;
int y = 6;

int bts() {
    int x = 3;
    int y = 4;
    return (x + y);
}

int main() {
    printf("result=%d\\r\\n", bts());
}

✅ 보충 설명

함수 호출 --> 맨 위에 새로운 스택 생성 -> 이전 스택은 모두 invisible

맨 위란? 어드레스가 높은쪽? 낮은쪽?

생성된 새로운 스택을 active stack이라 한다.

active stack만 보이고, 나머지는 보이지 않는다.

active stack 이외의 나머지는 invisible이므로 변수가 동일해도 상관없다.

실습: 스택 메모리 값을 직접 찾아보자.