인프런 커뮤니티 질문&답변
매개변수의 원형에 관한 질문
작성
·
9
0
매개변수와 전달인자 강의에서
int main()상단에 void helloCPP(int)라는 매개변수의 원형을 왜 또 한번 적었는지 궁금합니다
해당 원문을 주석 처리하고 실행해도 코드에서는 크게 문제가 되지 않아 궁금합니다
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 손찬희님!
C++에서 함수의 원형(prototype)을 사용하는 이유는 함수의 선언을 컴파일러에게 미리 알려주어 함수의 호출이 사용될 수 있도록 보장하기 위함입니다. 이는 코드가 여러 파일에 나뉘어 있을 때 특히 중요합니다.
함수 원형의 역할과 필요성:
미리 함수 사용 선언: 함수를 호출하기 전에 함수의 원형을 선언하면, 컴파일러가 해당 함수가 아예 정의되지 않거나 인자가 잘못되었을 때 오류를 사전에 방지할 수 있게 도와줍니다.
코드 구성 관리: 소스 코드가 복잡해지고 여러 개의 파일로 나뉘어 있을 경우, 함수의 원형을 사용하면 컴파일러가 코드의 나머지를 알지 못하더라도 함수를 인식할 수 있습니다.
어떠한 효과도 없다면: main 함수 위에 함수 원형을 선언하는 것은 선택 사항이 될 수 있습니다. 만약 함수의 구현부가 main 함수보다 먼저 작성되어 있는 경우, 명시적으로 함수 원형을 선언하지 않아도 문제가 없을 수 있습니다.
참고 링크
이와 관련한 상세한 설명은 인프런의 기존 질문에서도 다루어졌습니다. C++에서 함수 원형 사용에 대한 설명 링크를 참고해 보시면 더욱 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




