유용한 팁

함수의 선언과 정의의 차이점

프리월드 2012. 11. 27. 14:48

1. 선언의 형식

반환형  함수이름(매개변수들);

 

2. 정의의 형식

반환형  함수이름(매개변수들)

{

 내용;

}

 

3. 선언은 그러한 함수가 있다고 알리는 것이고 정의는 그 함수의 실제 내용을 만드는 것입니다.

4. 정의는 선언을 겸합니다.

5. 정의되어 있지 않은 함수를 선언하고 호출하는 코드가 포함된 프로그램을 빌드하면 컴파일은 됩니다만 링크 시에 해당 함수의 실체를 찾을 수 없으므로 링크 오류가 발생합니다.

6. 함수가 정의되어 있더라도 선언되어 있지 않으면 이를 호출할 수 없습니다. 이는 컴파일 오류를 발생시킵니다.

여기서 상기할 것은 정의는 선언을 겸한다고 한 것입니다.

즉, 선언 또는 정의한 곳 이후의 위치에서 해당 함수를 호출할 수 있다는 의미입니다.

예를 들면, 함수를 별도로 선언하는 것이 귀찮을 때 main 함수 위에서 함수를 정의해두고 main 함수에서 이를 호출하는 것을 보셨을 것입니다. 만약 해당 함수가 main 함수 뒤에 있다면 main 함수 앞에서 선언을 별도로 해주어야 main 함수에서 해당 함수를 호출할 수 있습니다.

 

'유용한 팁' 카테고리의 다른 글

Leap Motion  (0) 2014.12.03
앱과 정보 보안  (0) 2014.12.03
[스크랩]GPL/LGPL/MPL/BSD 라이선스  (0) 2012.09.19
오버로딩과 오버라이딩  (0) 2012.09.17
[프로그래밍] 프로세스와 스레드  (0) 2012.09.06