C 언어
스코프(Scope)는 식별자(변수, 함수 등)가 참조 가능한 프로그램 영역입니다. C는 블록 스코프, 파일 스코프, 함수 프로토타입 스코프를 가지며, 저장 클래스와 결합해 수명과 링키지를 결정합니다.
| 스코프 종류 | 시작 | 끝 | 대상 |
|---|---|---|---|
| 블록 스코프 | 선언 지점 | 포함 블록 } | 지역 변수, 매개변수, 루프 변수(C99) |
| 파일 스코프 | 선언 지점 | 번역 단위 끝 | 전역 변수, 함수, 파일 내부 static |
| 함수 프로토타입 스코프 | 프로토타입 내 | 프로토타입 끝 | 함수 선언의 매개변수 이름 |
| 함수 스코프 | 함수 본문 | 함수 본문 끝 | 레이블 (goto 대상) |
| 이름 공간 | 포함 식별자 | 예시 |
|---|---|---|
| 레이블 | goto 대상 | label: |
| 태그 | struct/union/enum 태그 | struct Foo |
| 멤버 | 구조체/공용체 멤버 | s.member (태그별 별도) |
| 일반 | 변수, 함수, typedef, 열거 상수 | int x; void func(); |