안녕하세요. 이제 우리는 비주얼 스튜디오 사용법을 익혔으니, 이제 저번 강의에서 본 Hello world 코드를 분석 해 봅시다.
자 첫줄부터 봅시다.
"#include <stdio.h>"
이상한 외계어 같죠? include가 무슨 뜻인가요? 그렇죠 '포함하다' 라는 뜻입니다.
즉, "stdio.h"라는 파일을 포함 시켜라 라는 뜻입니다.
이걸 '헤더파일'이라 하는데요
헤더파일 이란?
사실 우리는 아직 헤더파일에 대해 이해 하기 힘듭니다.
절대 멍청하거나 이해력이 안좋다거나 해서 그런건 아닙니다.
헤더파일을 쉽게 '도서관'이라고 생각하시면 될 것 같습니다.
우리가 과제를 할 때 필요한 서적만 빌려서 과제를 해결하지 상관없는 모든 책을 빌려다가 쓰진 않죠?
헤더파일도 소스를 작성할 때 필요한 헤더파일 만을 가져와서 사용합니다.
이렇게만 이해하고 자세한 이야기는 멀~~리 미룹시다.
결론적으로 우리는 그냥 "아 저 코드를 실행시키려면 저 문장을 꼭 포함해야하는구나" 라는 정도로만 기억하면 됩니다.
헤더파일에 대해서는 나~~~~중에 배울거에요.
간혹 하나하나 정확히 이해하고 넘어가야 하는 성격을 가진 분도 계실거에요. 제가 그랬거든요.
하지만 C언어의 처음 부분들을 배울때 그냥 대충 이해하고(너무 대충은 말구요) 넘어가는게 좋을 수 도 있어요.
그니까 일단은 위처럼만 이해하고 넘어갑시다.
다음 줄로 넘어갑시다.
"int main(void)"
이 문장은 함수를 선언하겠다는 문장인데요,
함수 다들 아시죠?
예를 들어 y = 2x + 3이라는 식이 있다고 합시다.
x값에 3을 대입하면 y는 얼마일까요?
그렇죠 9입니다.
C언어에서는 x에 값을 대입하는 것을 '입력' 이라 하고 y의 값을 '출력' 이라고 합니다.
그럼 C언어의 함수와 비교해 볼까요?
"int main(void)"는 출력형태가 'int'이고 입력형태가 'void'인 'main'이라는 이름의 함수입니다.
우리는 지금 함수에 대해서도 이해가 힘들 단계입니다.
그래서 이정도만 참고하시고 다음에 구체적으로 배우므로 지금은 그냥 넘어갑시다.
그 다음 줄에 중괄호 '{'가 보이시죠?
이 중괄호는 함수안의 내용을 정의할 때 쓰는 거랍니다.
즉 'main'이라는 함수 안을 채우기 위한 용도입니다.
"printf("Hello world! \n");"
'printf'도 'main'처럼 '함수' 라는 것입니다.
이 함수의 기능은 괄호안의 문장을 모니터로 출력시켜주는 역할입니다.
C언어에서는 문장을 "(큰따옴표)로 감싸주어야 합니다.
그런데 '\n' 얘는 뭘까요?
'\n'은 특수문자 중 하나입니다.
특수문자의 공식명칭은 '이스케이프 시퀀스'인데 이 '\n'는 줄을 바꾸라는 의미입니다.
지금은 그냥 개행(줄 바꿈)이라는 의미로만 기억합시다.
함수는 만들어서 사용하는 건데 우리는 'main'함수만 정의하고있지 'printf'함수를 정의한 적은 없어요.
그런데 어떻게 쓸 수 있는걸까요?
바로 첫 문장에 비밀이 담겨져있습니다.
"stdio.h"라는 파일에 printf함수의 정의가 담겨있는거에요.
이렇게 우리가 직접만들지 않았는데 그냥 가져다 사용할 수 있도록 제공되는 함수를 '표준함수'라고 하며
이것들을 모아놓은것을 '표준 라이브러리'라고 합니다.
마지막으로 "return 0;"
return은 두가지의 의미가 있습니다.
return 즉 '반환하다'라는 뜻이있고,
현재 실행중인 함수를 종료하라는 의미가 있습니다.
0을 반환하는것은 정상적으로 종료가 됬다라는 것을 알리는 것입니다.
그럼 0을 1로 바꿔볼까요?
똑같이 잘 실행되고 잘 종료됩니다.
그런데 왜 0이 정상적인 종료라는걸까요?
이건 사실 프로그래머들 끼리 정해놓은 '약속'같은거에요.
"프로그램이 0을 반환하고 종료됬다는건 정상적으로 종료가 됬다라고 정하자"라고 해서 0을 반환하는 겁니다.
그리고 return을 쓰지 않아도 함수는 잘 종료되는거 같습니다.
그런데 왜 이것을 써야하는지 궁금하시죠?
아직은 그냥 return 0; 를 메인함수 마지막에 무조건 써줘야 되는거구나 라고만 이해합시다.
그냥 대충이해하고 넘어가는게 많은 거 같지만 어쩔 수 없습니다.
그냥 흘려보냅시다. 배우다 보면 점점 비밀이 풀려갈거니까요.
';' 문자는 뭘까?
이 문자는 세미콜론 이라는 문자입니다.
이 문자는 문장의 끝을 알리는 문자인데요.
잘 보시면 세미콜론이 붙어있는데도 있고 안붙어있는데도 있습니다.
나중에 배울 조건문이나 반복문과 같은 키워드에는 세미콜론을 붙히지 않습니다.
일단은 앞으로 배울 예제들을 보면서 세미콜론을 어디에 붙여야 하는지 관찰해봅시다.
어는 순간 어디에 세미콜론을 붙여야하는지 자연스럽게 구분이 될테니까요.
오늘은 이만 여기서 마치겠습니다.
Chapter -04에서는 printf함수에 대해 다룹니다.
다음강의때 뵙겠습니다.
'C언어 강의' 카테고리의 다른 글
(C언어 강의) Chapter -05 변수와 연산자 - 2 (0) | 2016.07.02 |
---|---|
(C언어 강의) Chapter -05 변수와 연산자 - 1 (0) | 2016.07.02 |
(C언어 강의) Chapter -04 printf함수 파헤치기 (0) | 2016.07.01 |
(C언어 강의) Chapter -02 C언어 개발환경 마련하기 (3) | 2016.06.28 |
(C언어 강의) Chapter -01 C언어의 시작 (0) | 2016.06.27 |