함수간의 변수를 공유하는 가장 대표적인 방법은 외부 변수를 사용하는 것이다. 외부 변수는 함수 밖에서 선언되고 어느 함수에서든 사용할 수 있으며, 생성된 외부 변수는 프로그램 실행이 종료될 때까지 메모리에서 사라지지 않는다.
아래의 예시 프로그램이 바로 외부 변수를 사용하는 예시로, 여기서는 외부 변수 count를 main 함수와 func 함수에서 공우하고 있다.
그리고 C언어에서는 하나의 프로그램을 여러 파일로 분리해 컴파일 할 수도 있는데, 이렇게 하면 큰 규모의 프로그램을 작성할 때 매우 유용하다. 그리고 이렇게 여러 파일로 분리해 프로그램을 작성할 때 외부 변수를 이용하면 여러 파일이 변수를 공유할 수 있다.
이번 예시 프로그램은 두 개의 파일로 구성된 프로그램이다. 외부 변수 count를 선언하고 외부 변수 count를 다른 파일에서 재선언한다. 이렇게 재선언하는 것은 어디에선가 선언된 외부 변수 count를 사용하겠다는 의미로 결국 다른 파일에서 선언한 외부 변수를 이용할 수 있게 되는 것이다. 그때 사용한 것이 extern이다.