본문 바로가기
프로그래밍 언어/C 언어

C언어 2장 <Hello World~!>

by Suff07 2024. 8. 24.

 

 

 

목차

    1."Hello World!"

    먼저 프로그래밍을 가장 처음 시작하게 된다면 이 코드는 무조건 처음 치게 될겁니다.

     

    #include <stdio.h>
    
    int main()
    {
       printf("Hello world!\n");
       return 0;
    }

     

     이게 무엇을 의미하는가에 대해서는 그냥 단순하게 콘솔창에 Hello world!를 띄우라는 의미입니다.

     

     

    정말 간단합니다!

     

    하지만, 우리가 고작 이거 하려고 이 글을 쓴건 아닐겁니다 ㅎㅎ

     

    그러면, 이 코드가 뭘 의미하는지 한번 이야기를 해봅시다!

     

    1-1. # include <stdio.h>

    먼저 이 코드를 설명해봅시다.

     

    일단, 이 녀석은 stdio라는 헤더파일을 포함하여 쓰겠다는 의미입니다.

     

    더 풀어 쓰자면 Standard Input Output의 준말로써 표준 입출력을 의미하지요.

     

    헤더파일에 대해서 간략하게 설명하자면 쉽게 말해서 도구 상자와 같다고 이해하면 됩니다.

     

    우리가 공구함에서 각자 필요한 공구를 꺼내서 쓰듯이 헤더파일도 이 공구함과 같다라고 생각하면 편합니다.

     

     

    헤더파일의 중요성은 이 뿐만 아니라 코드의 재사용성, 컴파일시에 시간을 단축한다라는 특징이 있는데 후자의 경우는 차후에 매크로를 다루게 된다면 다시 이야기를 해보도록 하겠습니다.

    1-2. int main()

    이 녀석은 main이라는 이름을 가진 int형의 함수를 선언하는것입니다.

    (int형은 일단 정수형이라고 생각하시면 됩니다. 다음시간에 변수의 형태에 대해 설명할때 다시 이야기 하는걸로....)

     

    함수라고 해서 굉장히 어려운 개념이 아닌가? 라는 생각이 들지만 절대 어렵지 않습니다.

     

    쉽게 생각하면 수학시간에 배운 자판기와 같다라고 생각하면 됩니다.

     

     

    여기서 말하는 동전이 Input이고 상품이 Output 그리고 자판기가 함수입니다.

     

    여하튼, 우리는 앞으로 main 함수를 main문이라 칭하도록 하겠습니다.

    그리고 main문 다음에 { }라는 중괄호가 보일텐데요. 이 중괄호가 함수의 몸체를 나타내는 표시입니다.

     

    1-3. main문속의 코드

    \(\texttt{printf("Hello world\n")}\)

     

    먼저 이 코드를 분석해봅시다.

     

    크게 4가지를 분석해볼 계획인데요.

     

    I. printf는 어디에서 온것인가?

    이는 위에서 언급했다시피 stdio.h라는 헤더파일에서 이미 만들어진겁니다.

     

    비주얼 스튜디오를 기준으로 하였을때 마우스 우클릭을 하여 정의로 이동하기를 눌러보면 다음과 같이 보일겁니다.

     

    이는 표준 입출력 헤더파일에서 이미 정의된 코드를 갖고 온다라는 의미로 이해하면 됩니다.

    (위의 코드를 이해하려는거보다 printf가 헤더파일에서 정의된 코드를 갖고 와 쓰는구나 정도로 이해하면 됩니다!)

     

    II. \n은 무엇인가?

     

    이는 이스케이프 시퀀스라는 녀석인데요.

     

    문자열내에서 특수한 문자 혹은 동작을 표현할 수 있는 기능입니다.

     

    위에서 설명한 \n의 의미는 줄바꿈을 하라는 의미입니다.

     

    이를 정리한 표는 아래에 첨부하겠습니다.

     

     

    III. ; <세미콜론>의 의미는 무엇인가?

     

    이는 코드 문장의 끝을 의미하며 가독성을 위해 만들어진겁니다.

     

    뭔가 허무한데 이게 왜 유래가 되었는지를 가볍게 보고 넘어가보도록 하겠습니다.

     

    코드 문장의 끝에 세미콜론을 붙이게 된 계기는 60년대 ALGOL이라는 프로그래밍 언어에서 부터 출발하는데요.

    ALGOL이라는 언어에서 세미콜론을 붙여서 문장의 끝을 표시하게 된게 유래가 되었다고 합니다.

    IV. printf속 " "<큰 따옴표>의 의미

    이는 문자열 리터럴과 관련이 있는데요.

    차후에 포인터라는 개념을 배우게 되면 그때 자세하게 다루는것으로 하겠습니다.

     

    일단은 ""은 문자열을 표시하기 위함 정도로 이해하면 됩니다.

     

    1-4. return 0; 의 의미

    return 0; 는 간단하게 표현하자면 0 이라는 숫자를 반환하여 이것이 정상적으로 종료가 되었음을 가리켜주는 역할을 합니다.

     

    return 1;의 경우는 오류가 발생한 경우에 대해서 1을 반환하여 비정상적으로 종료하라는 의미인데 이 또한 차후에 다시 이야기해보도록 하겠습니다.

     

     

     

    '프로그래밍 언어 > C 언어' 카테고리의 다른 글

    C언어 3장 <변수와 자료형1>  (1) 2024.10.13
    C언어 1장<어셈블리어와 C언어>  (0) 2024.01.14
    프롤로그  (0) 2024.01.14