/ C, PROGRAMMING

C언어: Declarations vs Definitions of Variables

변수의 Declarations

변수의 타입을 정하는 것

변수의 Definitions

변수가 저장될 공간을 할당하는 것

보통의 경우, 변수는 선언과 동시에 정의된다.

변수를 정의하지 않고 선언만 하기 위해서는 어떻게 할까?

extern keyword 사용

extern int i;

-> extern keyword는 해당 변수가 프로그램의 다른 부분에서 이미 정의되었음을 컴파일러에게 알린다(대부분 다른 소스 파일). 따라서, 해당 변수의 공간을 다시 할당할 필요가 없어진다.

배열의 ‘선언’의 경우, 길이를 명시할 필요가 없어진다.

extern int a[];