여기에서 우리는 C 변수의 범위를 볼 것입니다. 변수는 항상 C에서 정적으로 범위가 지정됩니다. 변수 바인딩은 프로그램 텍스트에서 결정할 수 있습니다. 이들은 런타임 함수 호출 스택과 무관합니다.
아이디어를 얻기 위해 한 가지 예를 살펴보겠습니다.
예시
# include <stdio.h> int x = 0; int my_function() { return x; } int my_function2() { int x = 1; return my_function(); } int main(){ printf("The value is: %d\n", my_function2()); }
출력
The value is: 0
여기서 결과는 0입니다. my_function()이 반환하는 값은 이것을 호출하는 함수에 의존하지 않기 때문입니다. 이 함수는 항상 전역 변수 x의 값을 반환합니다.