인프런 커뮤니티 질문&답변

파이팅님의 프로필 이미지
파이팅

작성한 질문수

홍정모의 따라하며 배우는 C언어

2.9 함수 만들기

2.9 함수 만들기 void 질문

작성

·

324

1

2.9 함수 만들기에서

8.23 질문.png선생님이 이렇게 입력하셨는데요 왜 void를 써야 하는지, void 함수의 역할이 자세하게 궁금합니다. 그리고 아래 괄호 사이에 printf("Hello, World!\n"); 를 왜 입력해야 하는지 모르겠습니다.

답변 1

1

안녕하세요, 답변 도우미 Soobak 입니다.

함수와 관련해서는 '입력' 과 '출력'(반환값) 이 무엇인지 생각해보는 것이 중요합니다.

void 라는 키워드는 C 언어에서 "아무것도 없다" 정도의 의미를 갖는 키워드입니다.
질문해주신 void say_hello(void) 함수에서 두 개의 void 키워드에 대해서 설명드려보면 다음과 같습니다.

  1. 함수 반환값에 void 사용
    : void say_hello(void)
    위 코드에서 void 는 함수의 반환 자료형을 나타냅니다.
    함수의 반환 자료형을 void 로 선언하면, 해당 함수는 특정 값을 반환하지 않도록 하겠다는 것을 의미합니다.
    즉, 해당 함수를 호출하더라도 결과값을 반환 받지 않을 것이며, 특정 기능만 수행하도록 함수를 선언하는 것입니다.

  2. 함수의 매개변수에 void 사용
    : void say_hello(void)
    이 경우의 void 는 함수가 어떤 인수도 받지 않겠다는 것을 의미합니다.
    즉, say_hello 함수를 호출할 때 함수에 어떠한 입력도 전달하지 않겠다는 것입니다.

 

요약하자면, 입력이나 출력(반환) 없이 '특정한 기능' 을 수행하는 함수를 선언할 때 위와 같이 사용할 수 있는 것입니다.

pirntf("Hello, World!\n"); 함수에 대한 설명은 다음과 같습니다.

printf() 라는 함수는 C 언어의 표준 라이브러리(유용하게 사용할 수 있는 함수들을 모아놓은 곳이라고 생각하시면 좋습니다.) 에 있는 함수들 중 하나로, 콘솔창에 문자열을 출력하는 함수입니다.
괄호 안에 있는 "Hello, World!\n" 는 출력하고자 하는 문자열입니다.
'\n' 은 줄바꿈 문자로써, 이 문자가 있으면 콘솔창에 문자열을 출력한 후 줄이 바뀌게 됩니다.

따라서, say_hello 라는 함수의 { } 괄호 안에서 printf() 함수를 호출함으로써 특정 기능만 수행하도록 하는 함수를 선언하는 것입니다.

'함수' 와 관련해서는 섹션 9. 함수 의 강의들 전반에서 보다 자세하게 학습하시게 됩니다.

파이팅님의 프로필 이미지
파이팅

작성한 질문수

질문하기