BOX-IT/C++

[C++] #include <stdio.h>는 뭐고, 왜 쓰는 걸까?

Buang 2022. 4. 4. 09:59
반응형

# include <stdio.h> 는 뭐하는 아이일까?

 

c언어를 쓰면 항상 맨 위에

#include <stdio.h> 를 써줘야 한다.

 

왜일까?

그리고 이 아이는 도대체 뭐 하는 아이인걸까?

 

#include <stdio.h> 를

하나씩 쪼개서 그 이유를 알아보고자 한다.


 

#과 include 란?

 

# 은 hash mark라고 부른다.

 

include는 한글로 해석하면 '포함한다'는 뜻이다.

 

#include내가 어떤 걸 포함해서 쓰겠다고 선언하는 것을 뜻한다.

 

그런데 뭘 포함해서 어떻게 쓴다는 걸까?

바로 include 옆에 있는 stdio.h를 포함해서 쓰겠다는 거다.

 

stdio.h 란

 

stdio.h 는 standard input output 약자다.

 

stdio.h가 단순히 글자처럼 보일 수도 있지만 얘는 보통 글자가 아니다.

 

 

stdio.h는 바로 냉장고다!

 

 

집에서 요리를 한다고 했을 때 냉장고가 반드시 필요할 것이다.

냉장고에 대파랑, 쪽파랑, 가지랑, 두부랑, 된장을 넣어놓고

필요할 때 한 개씩 꺼내쓸 수 있으니 말이다.

 

c언어에서도 요리를 할 때,

즉 어떤 프로그램을 만들 때

 

printf란 함수도 필요하고,

scanf란 함수도 필요하고,

return이란 함수도 필요하다.

 

이게 무슨 소리인지는 지금 당장 알 필요 없다.

printf, scanf return같은 얘들은 비유하자면

대파, 쪽파, 가지 같은 것들이다.

 

내가 printf란 아이가 필요하다면 stdio.h란 냉장고에서

얘를 꺼내서 쓰는 것이다. 

 

즉 여러 재료(함수)들을

아주 많이 보관해 놓고 있는 게 바로 stdio.h란 글자다.

 

대충 stdio.h가 어떤 건지 감이 잡혔다면 

이젠 살짝 난이도를 높여서 설명을 이어가도록 해보겠다.

 

 

stdio.h에는 scanf, printf같은 얘들이 들어간다고 했다. 

즉 여러가지 라이브러리가 stdio.h 안에 있다.

 

* 여기서 라이브러리란?

단축키라고 생각하면 쉽다. 우리는 한글에서 문서를 작성하고 나서 저장할 때

왼쪽 상단으로 마우스 커서를 올려서 '파일'을 누르고 

그 다음에 마우스 커서를 아래로 내려서 '저장하기'를 누르지 않는다.

 

ctrl+s만 누르면 바로 저장된다. 

 

우리가 ctrl+s만 눌러도 저장하기가 바로 되는 건

사람들이 미리 'ctrl+s만 누르면 파일 저장을 해!'라고 지정해 놨기 때문이다.

이렇게 단축키를 만들어 놓음으로서 번거로운 작업을 금방 끝낼 수 있다.

 

c언어에서도 마찬가지다.

 

가령 내가 c언어에서

"Hello World"라는 걸 출력하려고 한다고 해보자.

 

아래에서 보겠지만

"Hellow World"를 출력하기 위해선 

printf("Hello World");를 써줘야 한다.

즉 앞에 printf라는 게 붙었다.

 

이게 바로 c언어의 단축키 같은 거다.

 

원래 "Hello Word"란 단어를 출력하기 위해선

길고, 길고, 길고 긴 문장을 작성한 다음

("Hello World")를 입력해야 Hello World가 출력됐다.

 

근데 그 길고, 길고, 길고 긴 문장을

printf라는 함수(단축키)로 만듦으로서

우리는 간단히 printf만 쓰고서도 Hello World를 출력할 수 있다.

 

c언어에는 printf같은 함수(단축키)가 여러가지 있다.

그런 여러가지 함수(단축키)들을 모아놓은 게 라이브러리다.

 

우리가 만약 #include <stdio.h>

를 첫 줄에 쓰지 않고 Hello World란 문자를 출력하고자 한다면

길고, 길고, 길고 긴 문장을 쓴 다음 Hellow World를 써야 했을 것이다.

 

이런 번거로움을 #include <stdio.h>가 해결해 주기 때문에

꼭 첫 줄엔 #include <stdio.h>를 써주도록 하자.

 

 

최종정리

 

- #include <stdio.h>는 이 stdio.h안에 있는 걸 포함해서 쓰겠다는 거다.

 

- 얘가 있어야 printf를 입력했을 때 "Hello World"가 출력될 수 있다.

#include <stdio.h>를 상단에 작성해 놓지 않고 printf를 사용하면 오류가 뜬다.

 

- 이건 마치 냉장고를 사놓지도 않았으면서

컴퓨터한테 냉장고에서 가지를 찾아와!라고 명령한 것과 같다. 

 

 

 

반응형