Page 16 - Warming-Up C Programming 도서미리보기
P. 16

038 Warming-up C Programming

int main(void)                int main(void)
{                             {

     ... 정상 종료                     if (...) // 메모리 할당 실패
                                         return 1;
     return 0;
}                                  ...
                              } 비정상 종료

                              [그림 2-7]? main 함수의 종료 코드

  리턴형이 void가 아닌 함수에는 반드시 return문이 필요하다. 그런데 예외적으로 main
함수에서는 return문을 생략할 수 있다. main 함수에서 return문을 생략하면 프로그램 종
료 시 0이 리턴된다. 간단한 코드 작성을 위해 이 책의 예제에서는 main 함수의 return 0;
은 생략하기로 한다.

Further Study

main 함수만 진입점 함수일까?
main 함수는 콘솔 프로그램의 진입점 함수이다. Windows 데스크톱 응용 프로그램은 main 함수 대신 Win-
Main 함수를 진입점 함수로 사용한다.

리턴형이 void인 main 함수
main 함수의 리턴형으로 void형을 지정하기도 하는데, 이것은 C 표준이 아니므로 피하는 것이 좋다. main 함
수는 int main(void)으로 정의해야 한다.

     표준 C의 main 함수                                               표준 C를 따르지 않음
                                                             void main(void) { ... }
int main(void) { ... }
int main() { ... }

              void를 생략
                 한 경우

C의 문장과 들여쓰기

C에서는 한 문장을 여러 줄에 걸쳐서 작성할 수도 있고, 여러 문장을 한 줄에 작성할 수도 있다. 보통은 알아보
기 쉽도록 한 줄에 한 문장씩 작성하는 것이 좋다. { }로 묶인 문장들을 블록(block)이라고 하며, 블록 안의 문
장들은 알아보기 쉽게 들여쓰기 하는 것이 좋다.

                                    들여쓰기를 한 경우               들여쓰기를 하지 않은 경우

                              int main(void)                 int main(void) {
                              {
{와 }는 새로운                                                    printf("Not Good\n"
줄에 써준다.                            printf("Good\n");
                                   return 0;                 );                          소스코드를
                              }                              return 0; }              알아보기 어렵다.

                                                블록 안의 문장들은
                                                 한 줄에 한 문장씩

                                                   들여쓰기한다.
   11   12   13   14   15   16   17   18   19   20   21