inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2.9 함수 만들기

2.9 함수 만들기 void 질문

391

파이팅

작성한 질문수 26

1

2.9 함수 만들기에서

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

c

답변 1

1

Soobak

안녕하세요, 답변 도우미 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. 함수 의 강의들 전반에서 보다 자세하게 학습하시게 됩니다.

Export template 안됨

1

22

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

54

3

main 함수에서 왜 int만 선언이 되는걸까요

1

56

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

54

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

49

1

프로토타입과 함수간의 인자 불일치

1

73

2

12.12 헤더 관련 질문

1

60

2

Visual Studio Community 2026 사용 문의

1

138

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

61

2

getchar(), putchar()

1

93

3

강의자리ㅛ

1

80

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

114

2

소스파일안에 여러 파일

1

76

2

F5와 F7의 차이

1

77

2

c = TWO * (a+b); 에서 a와 b는?

1

58

2

; 세미콜론을 붙이는 기준에 문의

1

70

1

Step over 기능 문의

1

53

2

2.6 강의 따옴표 출력 규칙 문의

1

75

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

61

2

11.7 함수를 구현해 봤습니다.

1

62

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

65

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

53

2

11.6 fit_str함수를 구현해 봤습니다.

1

53

2