사실 이 두 지정자는 그렇게 복잡한 녀석들은 아니지만 메모리의 모습과 컴파일 과정과 맞물린 성질을 가지고 있기 때문에 확실히 개념을 잡지 않으면 그냥 저냥 이해하고 넘어가게 된다. extern우선 extern이란 지정자는 간단한 예제 프로그램에서는 거의 등장하지 않는다. 왜냐면 extern으로 선언된 변수가 있다면 이 변수는 전역 변수로 어디엔가 선언되어 있다는 의미를 가지고 있는데 일반적인 예제 프로그램들의 전역변수는 코드의 앞 부분에 미리 선언되므로 굳이 extern 지정자를 사용할 필요가 없기 때문이다. 코드는 순서대로 메모리에 올라가게 되고 이 순서만 맞춰서 전역 변수가 메모리에 우선 올라가 있다면 어디서든 접근이 가능하기 때문이다. 반대로 이 순서라는 것이 발목을 잡을 수가 있다. 예를 들어 전..