컴파일시 오류 없지만, 링크단계에서 오류
누굴 불렀는지 알 수 없음
파일에 선언되면 그 파일에,
함수에서 선언되면 그 함수에
클래스,구조체에 선언되면 그 클래스 ,구조체에서만 국한된다. - 정적의 의미
하지만 데이터 영역에 존재하기 때문에 정적변수 해당 지역이 사라졌다가
다시 호출해도 변수의 값이 유지 .
->이유: 사용 범위를 국한시켰기 때문
Static 초기화 구문은 첫번째 실행시 한번만 초기화 됨
올바른 예)
extern int a;
int(){}
그 헤더 파일을 제외한 다른 파일에서 실제로 초기화 되었다는 것이 한번 존재 해야함(헤더,cpp 상관 없음)
extern int a=0;
int(){}