조각코딩

7. 코드의 분석 본문

C언어 배우기/C언어 배우기(1~50)

7. 코드의 분석

웹도날드 2018.10.10 18:30


이전 장에서 우리가 실행했던 코드를 다시 보겠습니다. 먼저 좌측을 보면 줄번호가 표시된 것을 알 수 있습니다. 코드는 기본적으로 줄번호를 따라 순차적으로 실행이 됩니다.



먼저 봐야하는 것은 main( ) 함수입니다. 함수에 대해서는 나중에 자세하게 설명할 것이기 때문에 지금은 어떤 기능을 실행하는 것이라고 생각하면 되겠습니다.


함수는 우리가 직접 만들 수도 있고 이미 만들어진 함수를 사용할 수도 있습니다. 지금 보이는 main( )과 printf( )가 바로 함수입니다. 함수는 '함수이름 + 소괄호'로 표시됩니다.



그렇다면 각 함수들은 어떤 기능을 할까요?


먼저 main( ) 함수는 프로그램의 시작을 알리는 함수라고 할 수 있습니다. 모든 프로그램은 원칙적으로 main( ) 함수에서 시작하고 종료됩니다. 그렇기 때문에 main( ) 함수는 프로그램을 작성하는데 있어서 꼭 필요한 함수입니다.


1
int main()
cs


main( ) 앞의 int라는 것은 함수의 반환값으로 함수가 기능을 실행한 뒤 내보내는 값의 종류를 나타내는 문자입니다. 이것 또한 함수 장에서 다시 다룰 것입니다.


또한 함수는 두 중괄호 사이 함수의 내용을 작성할 수 있습니다. 아래와 같이 '{' 과 '}' 사이에 코드를 작성하면 프로그램이 실행될 때 중괄호 안의 내용이 실행되게 됩니다.



그리고 return 0; 이라는 것은 함수가 종료될 때 내보내는 숫자입니다. 말 그대로 main( ) 함수가 끝나면 0을 내보낸다는 것입니다.


다시 한 번 정리해 보겠습니다. 처음에 코드는 줄번호를 따라 순차적으로 실행된다고 말씀드렸습니다. 따라서 프로그램을 실행하면 다음과 같은 과정이 일어납니다.


1. 프로그램을 실행하면 main( ) 함수가 실행이 됩니다.

2. main( ) 함수 안의 코드가 순차적으로 실행이 됩니다.

3. printf( ) 함수가 실행이 됩니다.

4. return 0; 이 실행되며 0을 내보내고 프로그램이 종료됩니다.



그럼 printf( ) 함수는 어떤 기능을 할까요? 프로그램을 실행시켰을 때 결과화면을 기억하고 계신 분이라면 이 함수의 기능을 추측해볼 수 있을 것입니다.



콘솔 창의 맨 윗부분을 보면 'Hello World!!!'라는 문장이 써진 것을 볼 수 있습니다. printf( ) 함수는 소괄호 안에 있는 문장을 콘솔 화면에 띄우는 역할을 하는 함수입니다.


그런데 코드를 유심히 본 분이라면 코드를 작성할 때 'Hello World!!!' 뒤에 붙였던 '\n'가 사라진 것을 눈치채셨을 것입니다. '\n' 또한 나중에 배울 문자로 엔터와 같이 한 줄을 내리는 역할을 하는 문자입니다. 그래서 위 콘솔창의 두 번째 줄이 비어있는 것입니다.


그럼 마지막으로 #include <stdio.h>의 역할이 무엇인지 알려드리겠습니다. 아까 함수에 대해 설명했을 때 함수는 우리가 직접 만들 수도 있고 만들어진 함수를 사용할 수도 있다고 말했습니다. printf( ) 함수는 이미 만들어진 함수로 이 함수를 사용하기 위해서 바로 아래 문장이 필요한 것입니다. 아래 문장은 '<stdio.h>를 포함해라' 정도로 해석할 수 있습니다.


1
#include <stdio.h>
cs


우리가 작성한 코드에 대한 개략적인 설명이 끝났습니다. 이제 다시 코드를 보게 되면 완벽하지는 않더라도 어느 정도 이해는 할 수 있을 것입니다. 마지막으로 실행의 흐름을 정리하면 이렇습니다.


1. 프로그램을 실행하면 main( ) 함수가 실행이 됩니다.

2. main( ) 함수 안의 코드가 순차적으로 실행이 됩니다.

3. printf( ) 함수가 실행이 되며 소괄호 안의 'Hello World!!!'를 콘솔창에 띄웁니다. 이때 '\n'은 마지막에 한 줄을 내리는 기능을 합니다. printf( ) 함수가 실행되려면 <stdio.h>가 필요하기 때문에 #include <stdio.h>를 위에 적었습니다.

4. return 0; 이 실행되며 0을 내보내고 프로그램이 종료됩니다.


다시 한 번 코드를 보며 흐름을 눈에 익히시기 바랍니다.



'C언어 배우기 > C언어 배우기(1~50)' 카테고리의 다른 글

9. 들여쓰기와 가독성  (0) 2018.10.11
8. 세미콜론과 문장  (0) 2018.10.11
7. 코드의 분석  (0) 2018.10.10
6. 빌드와 실행  (0) 2018.10.10
5. Hello World  (0) 2018.10.10
4. 코드 작성을 위한 준비  (0) 2018.10.09
0 Comments
댓글쓰기 폼