스토리지 클래스는 변수의 범위, 수명 및 바인딩을 지정합니다.
변수를 완전히 정의하려면 '유형'뿐만 아니라 저장 클래스도 언급해야 합니다.
변수 이름은 변수 값을 저장하기 위해 비트 모음이 할당되는 컴퓨터 메모리 내의 물리적 위치를 식별합니다.
스토리지 클래스는 다음 요소를 알려줍니다. -
- 변수가 저장되는 위치(메모리 또는 CPU 레지스터)
- 초기화되지 않은 경우 변수의 초기 값은 무엇입니까?
- 변수의 범위(접근 가능한 위치)는 무엇입니까?
- 변수의 수명은 어떻게 됩니까?
바인딩
바인딩은 식별자의 적용된 발생(사용)에 대한 해당 바인딩 발생(선언/정의)을 찾습니다.
- 변수의 범위를 알아야 합니다.
블록 구조는 무엇입니까?
어떤 블록에서 식별자가 가변적입니까?
- 동일한 식별자 이름을 다시 사용하면 어떻게 됩니까?
'C'는 동일한 범위에서 동일한 식별자 이름의 사용을 금지합니다.
다른 범위에서 같은 이름을 사용할 수 있습니다.
예시
double f,y; int f( ) //error { --- ---- ---- } double y; //error
예시
double y; int f( ){ double f;//legal int y; //legal }
예시
다음은 변수 바인딩을 위한 C 프로그램입니다 -
#include<stdio.h> int i=33; main() { extern int i; { int i=22; { const volatile unsigned i=11; printf("i=%d\n",i); } printf("i=%d",i); } }
출력
위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -
i=11 i=22