본문 바로가기

Language/_C

C Hello World 출력

1 :   /*
2 :        HelloWolrd.c
3 :   */
4 :
5 :   #include <stdio.h>
6 :
7 :   int main()
8 :  {
9 :        printf("Hello Wolrd");           // 줄 마칠시에 세미클론(';' 사용)
10 :      return 0;
11 : }



HelloWorld.c 의 구성 :

1. 함수 :

int           main                  (     )
리턴형     함수의 이름         파라미터
{       (함수의 시작)
         //
}       (함수의 끝)

함수 사용법(형식만 보자) :

1. 함수의 선언   (ex.    void function(int a); )
(리턴형 : void   함수이름 : function  파라미터 int a)

2. 함수의 정의   (ex.    void function(int a)
                                {
                                          printf("%d", a);
                                }
                       )
                                         
3. 함수호출 (ex. fuction(5); )

(참고 : 어떤 프로그램이든지 main 함수는 꼭 존재해야 한다.(단, 하나만 존재해야한다)
이 main 함수는 프로그램 실행시 가장 먼저 시작되는 부분(Entry Point) 이다)


2. 헤더 :

#include <stdio.h>

헤더파일 stdio.h 를 포함한다.

(참고 : 헤더파일에는 각종 기본 제공 함수의 선언과 유용한 매크로들이 선언되어 있다)


3. 주석 :

소스에 대한 설명을 할때 쓴다.
이부분은 컴파일 되지 않는다.

//  : 한줄주석

/*
     주석에 포함될 내용
     여러줄도 가능
*/



HelloWolrd.c 설명 :

구현하고자 하는것은 "HelloWorld" 의 출력이다.
따라서 출력함수 printf() 함수만 사용하면 끝이다.

하지만 이 print() 함수를 사용하기 위해서는 printf()함수의 선언이 필요하다.
따라서 printf() 함수의 선언문이 들어있는 헤더파일 stdio.h 를 소스에 포함한다.(5 : #include <stdio.h> )

(참고 : 기본제공함수의 정의는 라이브러리 파일(.lib)에 존재하는데 이는 링커가 알아서 포함시켜준다)

프로그램은 실행시 가장먼저 main() 함수가 실행된다.
(참고 : main 함수가 없으면 오류가 발생한다.

컴퓨터는 프로그램 실행시 main() 함수를 처음으로 실행하고 main() 함수가 끝나면 프로그램을 마친다.

printf() 함수를 main() 함수 내에서 호출해야 한다)


따라서 main() 함수를 선언 및 정의한다.(7 : int main() )

main() 함수 실행 후에 출력을 하기 위해 main() 함수 안에 printf() 함수를 호출한다.(9 : printf("HelloWolrd");

함수를 끝마쳤으므로 함수를 반환한다.(사용을 마친다)

리턴형이 int 이므로 아무숫자나 반환한다.(10 :  return 0  )



HelloWolrd.c 실행 과정 :

HelloWorld.c 소스 작성 -> 컴파일 -> 링크 -> 프로그램 실행

컴파일(Compile) : C로 작성된 소스를 컴퓨터가 이해할수 있는 기계언어로 바꿔 .obj 파일(오브젝트 파일)에 저장.

링크(LINK) : 컴파일된 코드를 라이브러리 파일과 연결시켜 .exe 파일(실행파일) 을 만든다.

(참고 : 빌드(Build) = 컴파일 + 링크)

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

포인터(Pointer)  (3) 2010.05.11
1차원 배열(Array)  (2) 2010.05.04
반복문 (for, while)  (0) 2010.03.25
분기문 ( if, if - else, switch )  (0) 2010.03.20
자료형, 상수, 변수, 연산자  (1) 2010.03.16