작성
·
324
1
2.9 함수 만들기에서
선생님이 이렇게 입력하셨는데요 왜 void를 써야 하는지, void 함수의 역할이 자세하게 궁금합니다. 그리고 아래 괄호 사이에 printf("Hello, World!\n"); 를 왜 입력해야 하는지 모르겠습니다.
답변 1
1
안녕하세요, 답변 도우미 Soobak 입니다.
함수와 관련해서는 '입력' 과 '출력'(반환값) 이 무엇인지 생각해보는 것이 중요합니다.
void
라는 키워드는 C
언어에서 "아무것도 없다" 정도의 의미를 갖는 키워드입니다.
질문해주신 void say_hello(void)
함수에서 두 개의 void
키워드에 대해서 설명드려보면 다음과 같습니다.
함수 반환값에 void
사용
: void
say_hello(void)
위 코드에서 void
는 함수의 반환 자료형을 나타냅니다.
함수의 반환 자료형을 void
로 선언하면, 해당 함수는 특정 값을 반환하지 않도록 하겠다는 것을 의미합니다.
즉, 해당 함수를 호출하더라도 결과값을 반환 받지 않을 것이며, 특정 기능만 수행하도록 함수를 선언하는 것입니다.
함수의 매개변수에 void
사용
: void say_hello(void
)
이 경우의 void
는 함수가 어떤 인수도 받지 않겠다는 것을 의미합니다.
즉, say_hello 함수를 호출할 때 함수에 어떠한 입력도 전달하지 않겠다는 것입니다.
요약하자면, 입력이나 출력(반환) 없이 '특정한 기능' 을 수행하는 함수를 선언할 때 위와 같이 사용할 수 있는 것입니다.pirntf("Hello, World!\n");
함수에 대한 설명은 다음과 같습니다.printf()
라는 함수는 C
언어의 표준 라이브러리(유용하게 사용할 수 있는 함수들을 모아놓은 곳이라고 생각하시면 좋습니다.) 에 있는 함수들 중 하나로, 콘솔창에 문자열을 출력하는 함수입니다.
괄호 안에 있는 "Hello, World!\n"
는 출력하고자 하는 문자열입니다.'\n'
은 줄바꿈 문자로써, 이 문자가 있으면 콘솔창에 문자열을 출력한 후 줄이 바뀌게 됩니다.
따라서, say_hello
라는 함수의 { }
괄호 안에서 printf()
함수를 호출함으로써 특정 기능만 수행하도록 하는 함수를 선언하는 것입니다.
'함수' 와 관련해서는 섹션 9. 함수 의 강의들 전반에서 보다 자세하게 학습하시게 됩니다.