main 함수(main function)

main 함수도 이진 코드로 이루어진다.
binary code

main 함수의 구조

C 프로그램은 함수에서 시작하여 함수로 끝이 날 정도로 함수가 핵심이다. 일정한 순서에 의하여 처리되는 함수의 호출이 프로그램의 전체적인 흐름이 된다. 그 중에서도 main 함수의 중요성은 두 말할 필요 없다. main함수는 프로그램의 실행이 시작되는 지점이다. 따라서, 반드시 프로그램에는 main 함수가 있어야 한다. 그래서,보통 하나의 프로그램은 많은 함수로 이루어지지만 한 개의 main함수로 작성할 수도 있다. 아래의 간단한 코드를 보자

위에서 5행에서 10행까지가 main 함수이다. main 함수를 구성하는 것은 Head(머리)와 body(몸)이다. 위 코드에서 int main(void)부분이 머리이고 중괄호{ }부분이 몸뚱이다.
함수의 머리 부분에서는 함수 이름 , 입력 형태 ,출력 형태 등을 표시해 준다. 위에서는 함수의 이름은 main , 입력 형태는 void , 출력 형태는 int임을 알 수 있다.
몸뚱이 안에는 실행될 코드를 써 준다. 일반적으로 한 줄에 한 문장씩 작성하고 일정한 간격으로 들여 쓰기를 한다. 위에서는 1+1; 과 return 0;이다.
이 함수의 몸체 부분에 기술하는 문장 끝에는 반드시 세미콜론 ; 기호를 붙여야 한다. 이것의 의미는 특정 문장이 종료했음을 컴파일러에게 알려주는 것이다.
함수 몸통 부분에 기술된 문장들은 그 길이 또는 수에 상관 없이 기재된 순서 대로 순차적으로 실행된다.

return의 역할

return문은 보통 다음의 두 가지 역할을 한다.
첫째 , 함수를 호출한 부분으로 특정한 값을 반환한다.
둘째 , 특정 값을 반환 후 함수를 종료한다.
위 코드에서 main함수의 return문이 0 을 반환하는 이유는 무엇일까? 그것은 운영체제에게 프로그램의 정상적인 종료를 알려주는 역할을 한다. 만약 비정상적인 종료를 했다면 main함수의 return 값은 0이 아닌 값을 반환한다.

C 언어의 주석(comment)

주석이란 프로그램 안에 기록한 일종의 간단한 메모이다. 이 주석은 컴파일 대상에 포함되지 않으므로 프로그램의 실행 여부와 무관하다. 위 사례 코드에서는 1에서 3행이 블록 주석이고 7행 , 9행이 행 주석이다.
블록 주석은 /* */의 형식을 취하며 두 줄 이상의 주석에 사용된다. 행 주석은 // 의 형식을 가지며 한 줄 주석의 작성에 사용한다.

주석의 필요성

프로그램에 주석을 사용하는 것은 선택이 아니라 필수이다. 타인이 작성한 복잡한 코드의 의미를 알아 낸다는 것은 매우 괴로운 일이다. 그리고 , 인간은 망각의 동물이기 때문에 자신이 작성한 코드도 긴 시간이 지난 후에는 어떤 목적으로 작성했는지 기억이 가물가물한 경우가 많다. 이러한 문제 발생의 방지를 위해서는 개발자가 자신이 작성한 코드의 간단한 의미를 주석의 형태로 기입해야 한다. 또한 주석은 간결하고 직관적으로 작성하는 것이 좋다. 복잡하게 기록하면 또 다른 암호를 붙여 놓은 것이라서 오히려 독이 된다.