작성
·
67
0
void 함수는 return 값이 없다고 배웠는데 코드 입력 시 return 0;가 있어도 입력되고 없어도 입력 돼서 void 합수가 헷갈리는데 정의 부탁드립니다 ㅠㅠ
#include <stdio.h>
void function_without_return();
int main(void)
{
function_without_return();
return 0;
}
void function_without_return()
{
printf("반환값이 없음\n");
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
유니크한 토끼님, 질문 주셔서 감사합니다.
void
키워드를 사용하여 정의된 함수는 반환값이 없음을 의미합니다. void
함수 내에서는 return
문을 사용할 필요가 없으멀로, void
함수 내에 return
문이 있어도 컴파일러는 이를 무시할 수 있습니다. 그러나 명시적으로 함수 실행을 중단하고 함수를 호출한 곳으로 즉시 돌아가고자 할 때, 반환형이 void
인 함수라도 return;
을 사용하여 함수를 빠져나올 수 있습니다.
여러분이 제시하신 코드를 살펴보면, main
함수의 경우 int
형을 반환하도록 정의되어 있고, return 0;
을 통해 정상 종료를 나타냅니다. 반면에 function_without_return
함수는 반환값이 없는 void
타입으로 정의되었고, 따라서 반환값을 제공하지 않습니다.
void
함수의 주목적은 특정한 동작을 수행하되, 호출한 곳으로 어떠한 값을 되돌려주지 않는 경우에 사용됩니다. 예를 들어, 출력을 하거나, 파일을 닫거나, 메모리를 해제하는 등의 동작에 주로 사용됩니다.
function_without_return()
함수는 “반환값이 없음”을 화면에 출력하는 역할을 합니다. 이 함수가 실행되면 화면에 해당 메시지가 출력되며, void
이기 때문에 추가적인 값을 반환하지 않습니다.
이해가 되셨길 바랍니다. 추가적인 질문이 있으시면 언제든지 문의해주세요!