변수에 저장된 값이 유효하게 사용될 수 있는 프로그램 내에서의 범위를 변수의 범위라고 한다. 변수의 사용영역에 따라 지역변수, 전역변수로 나뉠 수 있고, 변수의 존속기간에 따라 자동변수, 정적변수, 외부변수, 레지스터변수로 나뉠 수 있다. 외부 변수 전역 변수라고도 하며, 다른 함수에서 정의된 변수를 공유하고자 할 때 사용한다. 함수의 밖에서 선언되며, 여러 소스 파일 간에 사용하려는 때에는 extern 키워드를 사용한다. extern은 실제로 변수를 선언하는 것이 아니라 다른 파일에서 변수가 선언되었음을 알려주는 역할을 한다. 초기화되지 않은 경우에 0값을 가짐. 외부변수와 프로그램 데이터가 저장되는 데이터 세그먼트에 저장된다. 1 #include <stdio.h> 2 3 /* 4 외부변수 5 */ 6 7 int x = 100 ; 8 9 void fun1 () 10 { 11 printf ( "fun1 : x = %d \n " , x ); 12 x = 200 ; 13 } 14 15 int main () 16 { 17 18 printf ( "main : x = %d \n " , x ); 19 fun1 (); 20 printf ( "main : x = %d \n " , x ); 21 system ( "PAUSE" ); 22 return 0 ; 23 } 1 #include <stdio.h> 2 3 /* 4 extern 전역변수 #1 5 */ 6 void fun2 ( void ); 7 8 int x = 100 ; 9 10 void fun1 () 11 { 12 printf ( "fun1 : x = %d \n " , x ); 13 x =...