어떤 언어든 가장 기본이 되는 언어를 먼저 학습하는 것은 당연한 것이다. 그리고 그걸 제일 잘 보여주는 것이 바로 “Hello World!”다. (앞으로 어떤 언어든 제일 먼저 시작하면 보게 될 것이다.)
이전에 작성한 프로그램을 통해서 구조를 살펴본다.
- #include <stdio.h>는 기본적인 입출력 함수와 같은 정보를 포함하는 기능으로 컴파일 전에 먼저 처리된다. stdio.h 파일에 있는 다양한 정보와 기능을 이 프로그램에서 사용할 수 있다. 이렇게 선언하여 사용할 수 있는 파일을 헤더 파일이라고 하는데, 시스템 디렉토리에서 기본으로 제공되는 헤더 파일도 있고, 개발자가 직접 개발하여 사용하기도 한다.
- main()은 C 프로그램에서 반드시 필요로 하는 함수로, 프로그램은 이 main 함수에서부터 시작된다. 그러므로 main() 함수가 없으면 프로그램이 될 수 없다. main 함수의 앞에 있는 int의 경우에는 이 함수가 나중에 어떤 값의 유형을 반환하는지를 나타낸다. main 함수또한 기본형을 가지고 있는데, 환경에 따라 조금씩 사용이 다르다.
- {는 함수가 시작됨을 알려준다. 모든 함수는 {}로 둘러쌓여있다. {로 시작하고, }로 끝난다.
- printf(“hello world! \n”); printf는 stdio.h에 정의되어 있는 함수이고, “” 안에 있는 문자열을 출력하는 함수이다. 그리고 끝에 있는 세미콜론(;)은 모든 문장 뒤에 꼭 있어야 하는데, 이것은 문장이 끝나는 것을 의미한다. 문장 뒤에 세미콜론이 없으면 문장으로 인정받지 않기 때문에 컴파일 중에 오류를 발생시키게 된다.
- return 0는 함수에서 반환하는 반환값을 정의한다. main 함수에서의 숫자형 기본 반환값은 0이다. (정상종료)
- }는 main 함수가 끝났다.
단 몇 줄의 코드로도 충분히 분석이 될 수 있다.
여기서 설명이 좀 부족한 부분이 있는데 그 부분에 대해서 추가적으로 작성한다.
프로그램 안에 임의의 프로그램이나 기능을 삽입하기 위해서는 헤더라는 것을 통해서 삽입을 진행한다. 그렇게 삽입된 것이 바로 #include 에 있는데, 시스템에서 지원하는 기능을 사용하면 <>로 삽입을 진행하고, 다른 사용자가 만든 것을 삽입하려고 하면 “”에 삽입을 진행한다. 이렇게 #으로 시작되는 부분을 전처리기 지시자라고 하는데, 나중에 좀 더 자세한 글을 적어야 한다.
그리고 C언어의 프로그램은 작성된 순서대로 순차적으로 진행된다. 문장이 순서대로 실행되기 때문에 문장인지 아닌지가 제대로 구분되어야 하는데, 그 구분을 하는 것이 바로 세미콜론이다.