함수 원형은 컴파일러에게 함수의 인터페이스를 알려 준다. 즉, 리턴값이 있으면 그 리턴값의 데이터형을 컴파일러에게 알려 준다. 또한 매개변수의 개수와 각 매개변수의 데이터형을 컴파일러에게 알려 준다.
예
double cube(double x);
int main()
{
double volume = cube(side);
}
1.
함수 원형은 cube()가 하나의 double 형 매개변수를 가진다는 사실을 컴파일러에게 알려 준다. 프로그램이 cube()에 매개변수를 제공하는 데 실패하면, 컴파일러는 함수 원형에 근거하여 에러를 검출한다.
2.
cube() 함수는 계산을 끝냈을 때 리턴값을 CPU의 레지스터나 메모리의 어떤 지정된 위치에 넣는다. 그러면 호출한 함수가 그 위치에서 값을 꺼내온다. cube()가 double형이라는 사실을 함수 원형이 컴파일러에게 알려 주므로, 컴파일러는 그 위치에서 몇 바이트를 꺼내고 어떻게 처리해야 하는지 알고 있다. 이 정보가 없다면 컴파일러는 일할 수 없다.
'C++' 카테고리의 다른 글
friend 함수와 연산자 오버로딩 (0) | 2025.01.08 |
---|---|
[C++ 기초 플러스] Chapter 07 프로그래밍 연습 풀이 (1) | 2025.01.08 |
잡다한 문법 지식들 (1) (0) | 2025.01.08 |
vector와 array의 차이 (0) | 2025.01.07 |
getline()과 cin (0) | 2025.01.06 |