C언어 강의 3강- main함수 와 printf 함수
2강까지 잘 따라오셨나요?
사실 2강까지는 완전 기초적인 내용을 다루고 있어서 별다른 어려움이 없으셨을거에요.
만약 이해가 안되는 부분이나 궁금한 의문사항이 있으시다면 댓글 통해서 남겨주시면 확인 하는대로 답변 남겨드리겠습니다.
3강에서는 main 함수라는 것과 printf 함수라는 것을 공부할껀데요.
2강에서 제가 비주얼 스튜디오(visual studio)를 통하여 컴파일 하는 과정을 보여드리기 위해 사용한 소스파일 기억나시나요?
#include <stdio.h>
int main(void)
{
printf("안녕하세요. 반갑습니다. \n");
return 0;
}
이러한 소스파일이였는데요. 아직 이게 무엇을 뜻하고 뭐가 뭔지 모르실거에요.
당연한겁니다.
그럼 Main 함수가 무엇인지 부터 설명해 드릴께요.
main 함수란 이름에서부터 알수있듯이 프로그램의 메인이 되는 함수로써 C언어를 통하여
소스파일을 작성할 때 가장 기본이 되고 가장 중요한 함수입니다.
위의 소스파일에서 아래와 같은 부분만 떼어왔습니다.
int main(void)
{
return 0;
}
위와 같은 구조가 바로 main 함수인데요.
어렵게 생각 할 필요없이 단순히 C언어를 이용하여 소스파일을 작성할 때
필요한 가장 기본적인 틀/형식 이라고 생각하시면 됩니다.
무슨 말이냐 하면 예를 들어 블로그에 글을 올릴 때 글쓰기를 누르고 글쓰기라는 구조안에서 글을 올리죠?
똑같이 C언어를 이용하여 소스파일을 작성할 때도 기본적으로 main함수안에 작성을 해야합니다.
main 함수가 가장 기본적인 틀이자 형식, 구조라고 보시면 되겠습니다.
main 함수는 무조건 있어야 되고 두개 이상 존재할 수도 없습니다.
즉 쉽게 말해 C언어를 사용할 때 반드시 있어야 할 필수적인 요소라고 할 수있습니다.
앞으로 저희가 배울 여러가지 요소들은 기본적으로 main함수 안에서 작성이 될꺼라고 생각하시면 됩니다.
main 함수를 보시면 int main(void)
라는 부분이 보이시죠?
이것은 "나는 메인함수다. 메인함수가 시작된다" 라는 뜻입니다.
즉 자기가 메인함수라는 것을 사용자에게 알려주는 역할을 하는것이고요.
{} 이 괄호가 뜻하는 것은 메인함수의 범위를 뜻하는 것입니다.
또한 return 0; 은 메인함수의 종료를 뜻하는 것이라고 이해하시면 되겠습니다.
자 그러면 printf 함수는 무엇이냐?
printf 함수는 문자열을 출력시키는 함수라고 보시면 되겠습니다.
무슨 말이냐 하면 지금 제가 프로그램에다가 글자를 표시하고 싶다고 가정해봅시다.
어떤 글자냐고 한다면 "안녕하세요. 반갑습니다. "라는 글자를 프로그램을 통해 표시하고 싶은
상황이라고 가정해봅시다.
그럴때 이 printf 함수를 사용하여 프로그램에게 문자열을 출력하라고 명령할 수가 있습니다.
printf("안녕하세요. 반갑습니다. ");
위와 같은 소스파일을 이용하여 작성하시면 프로그램에
"안녕하세요. 반갑습니다. "
라는 글자가 출력이 됩니다.
그럼 2강에서 다룬 소스파일이 좀 이해가 되시나요?[위로 올려서 소스파일 다시한번 보세요]
메인함수가 있고 그안에 printf 함수가 있는 것이 보이시죠?
각자 역할이 대충 눈에 들어오시죠?
근데 여기서 궁금해 하실껍니다.
그럼 맨 위에있는 #include <stdio.h> 이건 뭔가요???? 라고 질문하실꺼에요.
이것은 바로 헤더파일 선언이라고 하는데요.
printf 함수를 사용하기 위해 반드시 넣어주어야 하는 문장입니다.
printf 함수는 이미 만들어진 함수로써 문장을 출력하라 라는 명령이 이미 완성되어 있기때문에
저희가 printf(" "); 이 틀 함수 안에 작성만 하면 출력이 되는것인데
그 역할을 저장해 놓은 곳이 바로 헤더파일입니다.
<stdio.h>라는 헤더파일에 printf 함수의 정보가 들어가 있는 것이죠.
printf 함수를 사용하기 위해서는 소스파일 맨 위쪽에다가
#include <stdio.h>
넣는 것 잊지마세요!
사실상 printf 함수는 반드시 쓰이는 함수라고 볼 수 있기때문에 그에 따라서 <stdio.h> 헤더파일 선언도 반드시 들어간다고
보시면 됩니다.
그럼 모든 소스파일 구조가 이해가 되셨죠?
#include <stdio.h>
int main(void)
{
printf("안녕하세요. 반갑습니다. \n");
return 0;
}
이러한 소스파일에서
#include <stdio.h>
는 헤더파일 선언으로써 printf함수에 대한 정보가 들어있으므로 printf함수를 사용할때 반드시 적어줘야하고
int main(void)
{
return 0;
}
는 메인함수의 구조와 틀이 되는 것이고 맨 윗줄 int main(void)는 메인함수라는 뜻
{ } 는 그 틀의 범위표시
return 0; 은 메인함수의 종료를 뜻한다는 것
printf("안녕하세요. 반갑습니다. \n");
이 것은 print 함수로써 프로그램에 내가 원하는 글자를 출력시킨 다는 것
즉 기본적인 틀은
printf(" ");
라는 것과 " " 큰따옴표 사이에 글자를 입력하면 그 글자가 출력된 다는 것
모두 이해가 되셨죠?
그런데 눈치 빠르신 분들은 \n 이 뭘 뜻하는 거냐고 궁금해 하실 거에요.
그것에 대해서는 4강에서 다루도록 하겠습니다.
감사합니다.
'IT > C언어 강의 (중단)' 카테고리의 다른 글
C언어 실습 - Printf 함수 (4강까지 완료후 실습하세요) (2) | 2017.11.28 |
---|---|
C언어 강의 4강- 이스케이프 시퀀스 (3) | 2017.11.27 |
C언어 강의 2강 - 비쥬얼 스튜디오 2017 프로젝트 및 소스파일 만들기 (5) | 2017.11.09 |
C언어 강의 1강 - C언어란 무엇인가? (0) | 2017.11.09 |
비쥬얼 스튜디오(Visual Studio) 2017 설치법 총정리 (3) | 2017.11.07 |