반환값이란, 함수가 실행된 이후에 함수의 잔여물이라고 생각하면 된다.
바퀴벌레가 죽으면 알을 깐다는 말이 있다. 반환값은 알과 같은 존재라고 생각하면 된다.
바퀴벌레가 죽는다? => 함수 내의 코드가 모두 실행됨.
바퀴벌레가 알을 낳는다? => 함수에게 값이 주어진다.
한가지 예제를 통해 이해시켜보겠다.
*참고로 반환값이 존재하는 함수는 반환형 int로 함수를 정의하며, 반환값이 존재하지 않는 함수는 반환형 void로 함수를 정의한다.
#include <stdio.h>
int function_with_return() {
printf("반환값이 존재하는 함수입니다.\n");
return 10;
}
int main(void) {
int num = function_with_return();
printf("num의 값은%d 입니다.", num);
}
num 변수에 function_with_return 함수를 대입하였는데, funtion_with_return 함수는 10이라는 값이 반환 되기 때문에, num변수에 10이 들어갔음을 확인할 수 있다.
#include <stdio.h>
void function_without_return() {
printf("반환값이 존재하지 않는 함수입니다.\n");
return 10;
}
int main(void) {
int num = function_without_return();
printf("num의 값은%d 입니다.", num);
}
위와 상반되게, 반환값이 없는 함수를 만들어보았다.
반환값이 없는 함수이기에 return값이 없어야하며, return값이 존재할 수 조차 없다.
따라서 return 10;에서 오류가 발생할 것이며, int num = function_without_return라는 코드에서 또한 오류가 발생할 것이다.
'프로그래밍 > C' 카테고리의 다른 글
[C언어] 배열 - 문자 vs 문자열 (0) | 2023.05.16 |
---|---|
[C언어] 함수의 선언과 정의 (0) | 2023.05.15 |
C언어 switch case문 (0) | 2023.05.15 |
C언어 랜덤, 난수 초기화란? (0) | 2023.05.15 |
[C언어] 랜덤한 수를 가진 배열 생성 후, 랜덤으로 덧셈, 뺄셈, 나눗셈하기 (0) | 2022.05.27 |