OneDev

[C] 3. Hello World 분석 - #include/stdio.h/main()/printf()/ \n 본문

Language/C

[C] 3. Hello World 분석 - #include/stdio.h/main()/printf()/ \n

one_dev 2022. 6. 27. 16:45

지난 시간 우리는 Hello, World! 라는 문구를 출력하는 C 프로그램을 만들어 보았다.

이번 시간에는 우리가 작성했던 코드를 구체적으로 살펴보도록 하자.

#include <stdio.h>

int main(){
	printf("Hello, World!\n");
    return 0;
}

위의 코드는 우리가 지난 시간에 작성했던 코드이다.

이 코드를 차근차근 살펴보자.

 

(1) #include <stdio.h> / 헤더파일

#include <stdio.h>
이 코드는 무엇을 뜻하는 걸까?

1) #include<>

#include<> 는 괄호 안에 있는 파일을 우리 프로그램으로 전부 불러온다는 의미이다.

이때 stdio.h 처럼 끝이 .h로 끝나는파일을 헤더파일이라 하는데,

헤더 파일을 통해 다른 곳에 쓰여져 있는 여러 기능들을 불러올 수 있다.(이에 대해서는 나중에 더 자세히 학습할 예정이다)

 

2) stdio.h

stdio는 STandard Input Output 을 줄인것으로 표준입출력 을 뜻한다.

예전에 코딩의 코 자도 모를 때에 얼핏 보고 studio로 읽었던 기억이 나는데, 여러분들은 헷갈리지 않길 바랍니다.

 

이제 우리는 이 코드의 의미를 알 수 있다.

#include <stdio.h>
-> 입력과 출력을 담당하는 기능들을 불러온다

 

(2) main() 함수

이제 그 밑에 작성된 코드에 대해 알아보자.

#include <stdio.h>

int main(){
	printf("Hello World\n");
    return 0;
   
}

1) int main() :

함수에 대한 개념은 나중에 학습하겠지만, 일단 main은 함수의 일종이라 생각하면되는데,

특히 C프로그램의 시작점을 알리는 함수라 생각하면 될 듯 한다.

C언어로 작성된 프로그램이 실행될 때 main() 함수가 가장 먼저 실행된다.

이전에 "프로그램을 실행한다 =  CPU 명령어 레지스터에 시작 명령어 주소값 전달" 이라는 것을 언급하였는데,

정확히는 main() 에 쓰여진 첫 번째 명령어의 주소값이 전달된다고 생각하면 된다.

중괄호({ }) 안에 있는 내용들이 main()을 실행하였을 때 수행되는 작업들이다.

main 앞에 있는 int 는 integer(정수) 의 줄임말로, main 함수가 종료된 뒤 정수값을 돌려준다는 의미이다.

실제로 return 0; 를 통해 정수값을 돌려주고 있는 것을 볼 수 있다.

이 부분에 대해서는 나중에 더 자세히 다루도록 하겠다.

 

2) printf()

printf의 경우 우리가 #include <stdio.h> 를 통해 불러온 함수인데, 괄호() 안의 내용을 화면에 출력을 하는 함수이다.

참고로 위 예제의 경우 문자들의 나열 (문자열, string) 이 큰따옴표 안에 있는걸 볼 수 있는데, 문자열은 반드시 큰 따옴표로 둘러 싸줘야 한다. 

간혹 다른언어에서는 문자열을 표현할 때 작은 따옴표와 큰 따옴표 모두 사용 가능한 경우가 있는데,

C에서는 문자열을 사용할 때 반드시 큰따옴표를 사용해주어야 한다.

 

3) \n

백슬래시(\) 는 일반적인 방법으로 표현할 수 없는문자를 나타내기 위해 사용한다.

보통 백슬래시(\) 를 escape character 라고 부른다

\ 뒤에 오는 문자는 출력되는 것이 아니라 \ 와 함께 어느 한 문자를 표현한게 된다.

\n 의 경우 개행문자(엔터키 or 줄바꿈) 를 나타낸다.

\n 이 필요한 이유는 C언어에서 문자열은 같은 줄에 " 로 끝나야 하기 때문이다.

printf("Hello Wordl!
");
    ..> 이런건 불가능 하다는 뜻이다

 

참고로 출력한 Hello, World! 밑에 C: ...... 이 창을 닫으려면 아무키나 누르세요.... 부분은 편의를 위해 비주얼 스튜디오에서 자체적으로 추가한 부분이니 무시하셔도 됩니다.

 

 

 

 

☆ 요 약 ☆

 

# include <stdio.h>              <--- printf 를 사용할 수 있도록 입출력 관련 기능들 불러옴

int main(){                      <--- 프로그램 실행시 가장 먼저 실행되는 함수
	printf("Hello, World\n");    <--- 주어진 문자열을 출력
    
    return 0;                    <--- 함수가 끝나면 0을 반환(함수파트에서 자세히 다룰 예정)
 }

'Language > C' 카테고리의 다른 글

[C] 5. 변수(Variables)  (0) 2022.07.05
[C] 4. 주석  (0) 2022.06.28
[C] 2. 첫 프로그램 : Hello World 출력해보기  (0) 2022.06.27
[C] 1. Visual Studio 설치  (0) 2022.06.27
[C] 0. 배경지식 - CPU와 메모리  (1) 2022.06.27
Comments