C 언어에서 **함수의 반환문(return statement)**은 함수 실행이 끝났을 때 값을 반환하고, 함수를 종료시키는 역할을 합니다. return 문을 사용하면 함수의 실행을 종료하고, 선택적으로 값을 반환할 수 있습니다.
1. 반환 값이 있는 함수
함수가 값을 반환할 때는 return 뒤에 값을 넣어 반환해야 합니다. 함수의 반환 타입에 맞는 값을 반환해야 합니다.
예시 1: 정수 값을 반환하는 함수
#include <stdio.h>
// int형 값을 반환하는 함수
int add(int a, int b) {
return a + b; // 두 수의 합을 반환
}
int main() {
int result = add(3, 4); // add 함수 호출
printf("Result: %d\n", result); // 결과 출력
return 0;
}
- add() 함수는 두 정수를 더한 값을 반환하며, return문으로 그 값을 반환합니다.
- main() 함수에서 add()를 호출하고 그 값을 result 변수에 저장한 후 출력합니다.
예시 2: 실수 값을 반환하는 함수
#include <stdio.h>
// double형 값을 반환하는 함수
double divide(double a, double b) {
return a / b; // a를 b로 나눈 값을 반환
}
int main() {
double result = divide(10.0, 2.0); // divide 함수 호출
printf("Result: %.2f\n", result); // 결과 출력
return 0;
}
- divide() 함수는 두 실수를 나눈 값을 반환합니다.
- main() 함수에서 divide()를 호출하여 결과를 출력합니다.
2. 반환 값이 없는 함수 (void 함수)
반환 값이 없는 함수는 void 타입을 사용하고, return문 뒤에 값을 반환하지 않습니다. 하지만 return문은 여전히 함수 종료 시 사용될 수 있습니다.
예시 3: 반환 값이 없는 함수
#include <stdio.h>
// 반환 값이 없는 함수
void printMessage() {
printf("Hello, World!\n"); // 메시지 출력
return; // 함수 종료
}
int main() {
printMessage(); // printMessage 함수 호출
return 0;
}
- printMessage() 함수는 반환 값이 없으며, void 타입으로 선언됩니다.
- return문은 함수 종료를 명시적으로 나타내지만, 반환값을 제공하지 않습니다.
3. return의 동작
- 값을 반환하는 경우: return 뒤에 반환하려는 값을 적습니다. 함수는 반환값을 반환하면서 종료됩니다.
- 값을 반환하지 않는 경우: return;은 단순히 함수를 종료시키는 역할을 합니다.
- return문은 함수의 실행을 종료시키므로, 함수의 나머지 코드는 실행되지 않습니다.
예시 4: return문이 함수의 나머지 코드를 건너뛰는 예
#include <stdio.h>
int testFunction() {
printf("This will be printed.\n");
return 0; // 함수 종료
printf("This will NOT be printed.\n"); // 이 코드는 실행되지 않습니다.
}
int main() {
testFunction();
return 0;
}
- testFunction() 안에서 return 0;이 실행되면 함수가 종료되고, 그 이후의 코드 (printf("This will NOT be printed.\n");)는 실행되지 않습니다.
4. return과 main() 함수
main() 함수는 C 프로그램의 진입점이므로, 반환값을 사용하여 프로그램이 정상적으로 종료되었는지 혹은 오류가 발생했는지를 운영 체제에 알립니다.
- 0을 반환하면 프로그램이 정상 종료되었음을 나타내며,
- 0이 아닌 값을 반환하면 프로그램에서 오류가 발생했음을 나타냅니다.
예시 5: main()에서 return 사용
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0; // 정상 종료
}
- 위 코드에서 return 0;은 main() 함수가 정상적으로 종료되었음을 운영 체제에 알립니다.
요약:
- 반환 값이 있는 함수에서는 return 뒤에 값을 넣어 반환하고, 함수의 실행을 종료합니다.
- 반환 값이 없는 함수에서는 void 타입을 사용하고, return은 함수 종료를 나타냅니다.
- main() 함수는 일반적으로 0을 반환하여 프로그램이 정상 종료되었음을 알립니다.
return문은 C에서 함수의 반환값을 지정하거나, 함수 실행을 종료하는 중요한 역할을 합니다.
'c++' 카테고리의 다른 글
정수와 실수 문자 출력 프로그래밍 (0) | 2025.03.18 |
---|---|
c 언어 규칙 (0) | 2025.03.18 |
void (0) | 2025.03.18 |
int main(), return 0 (0) | 2025.03.18 |
c 주요 함수 - #include<stdio.h> (0) | 2025.03.18 |