C언어

[C언어]1. #include<stdio.h>? int main()?

진철 2023. 1. 1. 16:43
728x90
반응형

해당 설명은 모두 MS사의 visual studio를 기반으로 한다.

(설치 과정은 생략하도록 하겠습니당)

필자가 처음 C언어를 배웠을 때, 가장 궁금한 점이 하나 있었다.

그것은 바로 모든 언어의 첫 시간인 "Hello World"를 출력하는 시간이었는데, 그 중에서도 다음과 같은 화면에 대한 설명은 하지 않고 출력 함수에 대한 설명을 한 것이었다.

(초기 세팅 마크다운)

이번 시간에는 다음과 같은 것이 무엇인지에 대해서 이야기를 하려고 한다.

0장에서 언급했듯이 프로그래밍 언어란 인간이 프로그램과 의사소통을 하기 위해서 인간이 만든 인위적인 언어이다.

출력을 나타내는 함수 한 줄을 사용하여 번역을 한다는 것은 프로그래밍 언어를 너무 간결하게 잘 만든 것이 아니라, 무척이나 긴 번역 과정을 줄여서 다음과 같은 한 줄을 입력하면 생략을 할 수 기능이 있기 때문이다.

예를 들어 자전거를 타고 싶다면 직접 바퀴부터 안장까지 본인이 스스로 만들어서 타는 것이 아니라 이미 누군가 만들어놓은 자전거를 끌어와서 사용하는 것이라고 보면 된다.

그렇게 끌어와서 쓰는 것을 '라이브러리'라고 하며 라이브러리를 입력하는 공간을 '헤더'라고 한다.

대표적으로 사용되는 <stdio.h> 헤더 파일은 STanDard Input Output의 약자로 말 그대로 입출력에 관한 함수를 모아놓은 파일이다.

출력을 실행하는 prinf함수 역시 stdio.h 내부에 포함이 되어 있다.

<stdio.h> 앞에 입력되는 #include는 #include 뒤의 헤더 파일을 지금부터 사용할 겁니다라는 것을 의미한다.

#include <stdio.h> : 지금부터 입출력 함수를 모아놓은 파일인 stdio.h 파일을 사용할 거에요!

그럼 이제 두번째, int main은 무엇일까??

이는 뒤에 사용자 함수와 관련하여 좀 더 자세히 설명하도록 하겠다.

간단히 설명하자면 C언어의 경우, 이를 메인 함수라고 하며 원하는 내용을 실행하기 위해서는 메인 함수 안에 내용을 입력하야 작업이 이루어지는 특징이 있다.

비유를 하자면 원하는 음식을 선택해도 주문을 하지 않으면 음식이 나오지 않는 것처럼 메인 함수는 내가 고른 음식을 주문하여 음식을 받을 수 있게 해주는 주문 공간이라고 생각하면 될 것이다.

728x90
반응형