맨위로

C PROGRAMMING - 기초2012. 2. 5. 12:16
안녕하세요. 지난번 강의에서 Hello, World 라는 나만의 최초의 C언어 프로그램을 만들어보았습니다. 간단하고 멋진 프로그램입니다. 하지만 Hello, World 라는 프로그램이 왜 그런 화면을 출력해주는지를 모르고 있습니다. 지금 부터 왜 이렇게 되는지 알아보도록 하겠습니다.

Hello , World 분석

여러분이 작성해본 Hello, World 의 코드는 다음과 같습니다. 처음강의에서 이코드를 실행해 보았습니다. 실행 결과 Hello, World 를 출력한다는 것을 알수있습니다. printf("Hello, World\n"); 이 소스코드를 통해서 Hello, World 가 출력된다는것을 알수 있습니다. 자세한 내용은 잠시후에 알아보도록 하고 지금부터는 소스코드를 천천히 살펴보도록 하겠습니다.


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

일단 프로그램의 소스코드중 첫줄 부터 살펴보도록 하겠습니다.

#include <stdio.h>
 
C 프로그램은 항상 하나 이상의 함수로 구성됩니다. 함수는 프로그램내의 함수(사용자 정의 함수)가 있고 라이브러리에 있는 함수가 있습니다. 만약 사용할 함수가 라이브러리에 있는 함수라면 여러가지 라이브러리중에  사용할 함수가 있는 라이브러리를 표시(포함)해주어야합니다. 바로이와 같은 형태로 표시해주어야 합니다.  #include(포함하다) <라이브러리 명> 
 위의 코드는 stdio.h 라는 라이브러리에 있는 함수를 사용하기 위해서 위치를 표시(포함)한 것입니다.



int main()


C 프로그램에서 주프로그램의 이름은 꼭 main을 써야합니다. main의 역할은 다른 함수들을 호출하게 됩니다. 영어의 Main 의 뜻 주된 이라는 뜻처럼 프로그램의 주된역할 합니다. main의 역할은 알겠는데 저 int는 무엇일까요 ? 이 int는 정수형을 가르키는 integer 의 약자입니다. 정수형이 가르키는것은 그 옆에 main이라는 것이죠. 따라서 int main() 은 '정수 형을 반환하는 메인 함수' 라는 뜻입니다. 자세한것은 잠시후에 알아보도록 하겠습니다.

{

중괄호는 main 함수의 영역을 표시하는 용도로 사용됩니다. 중괄호를 열었으면 반드시 닫아주어야 합니다,


printf("Hello, World\n");

우리가 처음으로 만들어본 Hello, World 프로그램에서 가장 핵심적이다. 라고 할수 있는 부분입니다.
먼저
' printf '  를 살펴보겠습니다. 일단 printf는 함수입니다. 괄호안의 내용을 화면에 출력해주는 함수이며 표준 입출력 라이브러리(STandard Input Outpyt header) 에 속해 있는 함수입니다. 그런데 위의 코드를 보면 분명 \n 이 쓰여져있는데 출력이 되지 않는것을 알수 있습니다. \n 이 왜 출력이 안되는지는 다음을 보면 쉽게 알수 있습니다.


#include <stdio.h>

 

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

 


\n 이 빠진결과 한줄에 Hello, World 와 계속하려면 아무 키나 누르십시오... 가 함께 출력되는것을 알수 있습니다. 그렇다면 \n은 행을 바꾸는 역할은 한다는것을 알수 있습니다. 즉 개행문자의 역할을 하는데 이러한 문자를 escape 문자라고 하며 하나의 문자로 인식되며 출력의 양식을 정해주는 역할을 합니다.  \n 은 return 의 역할 \t 는 tab 의 역할 \b 는 backspace 의 역할을 한다. 화면에 \를 출력하고 싶으면 \\와 같이 쓰며 "(따옴표)를 출력하고 싶으면 \"로 쓴다.




return 0;

return 반환하다,되돌리다 라는 뜻으로 위의 구문은 '0을 반환한다' 입니다.  프로그래밍에서0은 '프로그램이 무사히 종료됨' 1은 ' 프로그램이 무사히 종료되지 않음' 이라는 일종의 약속입니다. 지금은 return 값을 지키지 않는다고 해서 문제는 없지만 지켜야 할 약속입니다.  

}

main 함수의 부분을 괄호로 열었으니 닫아주어야 됩니다. 이로써 간단하게 분석해보았습니다.


위의 내용은 주석을 통해 설명을 달아보았습니다. 주석은 코드에 대한 설명을 하는 역할을 하며 프로그램 코드에는 영향을 주지 않습니다.  //를 사용해 한줄에 주석을 나타낼수 있고 /* 을 사용해 여러줄에 걸쳐 주석을 사용할수 있습니다.


이 글에서는 Hello,World 에 대해서 분석해보았습니다. 이 글을 보시는 분들은 C언어 뿐만 아니라 다른 언어도 배우실 분들일 것입니다. 새로운 언어를 배우는 방법은 소스코드를 직접손으로 쳐보고 오류가 나면 오류를 고쳐 보는것입니다. 그러므로 이글을 읽는 분들은 소스코드를 눈으로만 보지 마시고 직접 작성해보시면 많은 도움이 될것입니다. 이 블로그에 와주시분들에 감사의 말씀 드립니다.

 


'C PROGRAMMING - 기초' 카테고리의 다른 글

C언어 - 상수정의  (0) 2012.02.18
C언어 - For 문  (6) 2012.02.16
C언어 - 변수와 수식표현②  (0) 2012.02.14
C언어 - 변수와 수식표현①  (17) 2012.02.13
C언어 - Hello,World  (7) 2012.02.05
C언어 - 시작  (43) 2012.02.04

Posted by STIH

댓글을 달아 주세요