목차
오늘은 저번시간에 사용했던 코드를 분석하는시간을 가지겠습니다.
코드를 분석하려면 앞서 설명해야하는 것이 있는데요.
바로 C언어 함수에 대한 정의입니다.
C언어는 함수로 시작해서 함수로 끝납니다.
여기서 함수는 수학에 나오는 함수와 동일합니다.
예를 들어서 설명하겠습니다.
3x *3=y 라는 함수가 존재합니다.
여기에 x에 2라는 숫자를 넣으면 y의 값이 어떻게 될까요?
y는 18이라는 값이 나오게 됩니다.
이때 x에 값을 넣는 것을 입력, y의 값이 나오는 것을 출력이라고 합니다.
C언어의 함수도 상황에 따라서 다르지만, 입력값을 넣으면 결과값이 출력됩니다.
용어를 살펴보자면, 함수를 정의한다라는 말은 만들어진 실행가능한 함수를 말합니다.
함수를 호출한다는 말은 해당 함수를 실행하라는 명령이고,
인자의 전달은 함수를 실행하라고 명령할때 해당 입력값을 넣어서 실행하라고 하는 것을 말합니다.
즉, 입력값이 인자가 되는 것이지요.
이런 함수들은 호출한 순서에 따라 순차적으로 진행합니다.
그럼 저번시간에 제일 첫 소스코드부분이 어떤 코드였는지 기억나시나요?
바로 #include<stdio.h>였었는데요.
include는 포함하다라는 뜻을 가지고 있는것처럼 해당 파일을 포함해라! 라는 명령입니다.
그럼 <>부분 안에있는 파일을 포함하라는 뜻이겠지요?
그리고 잘보시면 .h라 되어있는데 이 파일을 헤더파일이라고합니다.
이 헤더파일에는 무수한 함수들이 들어가 있는데요.
stdio.h라는 파일내에는 출력을 하는 printf라는 함수외에 기본함수등이 들어있습니다.
stdio.h외에도 여러 헤더파일들이 존재하는데 각각의 용도에 따라 나뉘어진것입니다.
그 다음 코드로는 int main()가 있었습니다.
int main()외에도 void main()이라고 쓸수도 있습니다.
여기서 int는 integer 정수의 줄임말로 반환형을 뜻합니다.
여기서 반환형이란 해당 타입으로 출력된 값을 넘겨준다는 뜻입니다.
void는 반환하지않는 타입, int는 정수 타입으로 반환하는 타입이 되는 거죠.
자세한 설명은 나중에 하겠습니다.
함수의 형태는 이렇습니다.
출력형태 함수이름(입력형태)
{
}로 되어있습니다.
int main()도 함수의 형태를 하고 있습니다.
하지만 이 함수는 다른 함수와는 다른 특징을 가지고있습니다.
이 함수를 메인함수라고 부르는데, 이 메인함수는 프로그램을 시작했을시 제일 먼저 호출되어 실행되는 함수이며,
제일 마지막으로 끝나는 함수이기도 합니다.
설명은 뒤에서하기로하고, 메인함수를 보게되면 { }로 감싸져있는 부분이 존재하는 것을 볼수있습니다.
이 부분을 함수의 몸체라고 하며, 실제로 실행되는 코드들이 이부분에 들어가게됩니다.
그 다음 소스코드를 보게되면, printf("HelloWorld!\n"); 라고 되어있습니다.
앞서 설명했듯이 printf는 출력을 담당하는 함수입니다.
""내에 있는 문자를 출력해라!라고 알아두시면되는데, HelloWorld!는 그렇다치고 \n은 왜 출력이 되지않는 것일까요?
\n은 뭔가 특수한 문자처럼 보이지 않나요?
\n은 이스케이프 시퀀스라 불리는 문자조합입니다.
\ 뒤에 문자를 넣어서 그에 해당하는 기능을 하지요.
그래서 \n은 출력이 되지않는 것인데요.
실제로는 화면상에 출력이 되어있는것을 알수있습니다.
\n은 엔터(줄바꿈)를 수행하는 문자조합으로 적용이 됩니다.
출력결과를 다시 보시면 엔터가 적용되어있는 것을 보실 수 있습니다.
다른 이스케이프 시퀀스들도 많은데요.
자세한 것은 나중에 알기로 하고 다시 printf문장을 보시면 뒤에 ;가 찍혀있습니다.
쉽게 예상할 수 있듯이 ;는 마침표를 의미합니다.
사람들이 문장의 끝을 나타낼때 .을 쓰는 것처럼 C언어 문법에서는 ;을 씁니다.
이 세미콜론을 빼먹어 컴파일 오류가 나는 경우가 많으니 주의하셔서 작성하시기 바랍니다.
다음 소스코드로 return 0;가 있는데요.
return은 0이거나 아닌 두 종류로 구분이 됩니다.
아까 함수의 반환형이 있었는데요.
return 값;은 해당 값을 반환해라 라는 뜻을 가집니다.
return 0;라는 뜻은 종료를 해라라는 의미를 가집니다.
이건 나중에 차차 알아가기로하구요.
드디어 해당 소스코드가 무엇을 의미하는지를 배웠습니다.
아직 이해가 되지않는 부분도 많으실텐데요.
계속 반복하다보면 자연스럽게 익혀지니 걱정하실 필요없습니다.
특히
#include<stdio.h>
int main(){
reuturn 0;
}
부분은 항상 쓰이니 안외울래야 안외워질수가 없습니다.
그럼 다음시간 뵙겠습니다.
2016/09/30 - [C 언어] - [C언어] C프로그래밍 작업공간 마련 그리고 테스트
2016/09/29 - [C 언어] - [C언어] 프로그램 완성과정
2016/09/29 - [C 언어] - [C언어] C는 왜 나왔을까?
'프로그램 개발' 카테고리의 다른 글
[C언어] printf의 사용법 그리고 주의 사항 (0) | 2016.10.01 |
---|---|
[C언어] 주석 처리 (0) | 2016.10.01 |
[C언어] C프로그래밍 작업공간 마련 그리고 테스트 (0) | 2016.09.30 |
[C언어] 프로그램 완성과정 (0) | 2016.09.29 |
[C언어] C는 왜 나왔을까? (0) | 2016.09.29 |