프로그램 기본 구성

2015. 11. 3. 16:31

 

#include <stdio.h>

 

int main(void)

{

printf("Hello Rekcah");

return 0;

}

 

코드는 'Hello Rekcah'라는 결과물을 출력하는 프로그램의 소스코드 입니다.

 

프로그램을 만들기 위해 소스코드에는 반드시 개의 메인(main) 함수가 필요 합니다.

메인 함수의 시작은 프로그램의 시작 지점, 메인 함수의 끝은 프로그램의 종료 지점이라고 생각 하면 됩니다.

물론 정확한 의미는 아니나 이제 C언어를 접하시는 분이라면 위와 같이 이해 하고 넘어가시면 됩니다.

 * 함수의 자세한 사용 방법은 함수 챕터에서 설명 하도록 하겠습니다.

 

함수란 여러 명령을 하나의 그룹으로 묶어 관리를 쉽게 하고 또한 작성 해놓은 명령을 사용을 하기 위한 문법적인 개념요소 입니다.

함수는 이름, 명령들의 집합, 반환 , 매개 변수로 구성되어 있습니다.

 

int main (void)

 

코드의 빨간색 블록 위치는 '반환 ' 형태를 지정하는 부분 입니다.

반환 값이란 그룹화 되어있는 함수 안의 명령들을 실행 하고 결과로 반환 하고자 하는 값이 있을 경우 반환 되어지는 결과 값을 말합니다.

, 숫자이냐 문자이냐 같은 값의 형태를 지정하기 위한 부분 입니다.

만약 반환 값이 없다면 void라는 키워드를 사용하며 void 생략할 없습니다.

* void '없음', '지정되지 않음' 의미하는 키워드 입니다.

 

초록색 블록 위치는 '함수의 이름' 지정하는 부분 입니다.

함수의 이름은 알파벳 /소문자, 숫자, 언더바(_) 구성할 있습니다.

C언어는 /소문자를 구분 합니다. 때문에 Value value 다른 이름으로 해석 되어 지므로  항상 /소문자를 주의해야 합니다.

또한, 이름으로 사용할 없는 경우는 '숫자로 시작된 이름', '특수 기호가 포함된 이름', '공백이 포함된 이름', '키워드와 같은 이름' 있습니다.

* 키워드란 예약어 라고도 하며 C언어 문법에서 사용 하기로 약속되어 있는 단어들을 말합니다.

* 이름을 한글로 만드는 방법도 있으나 일반적이지 않습니다.

 

파란색 블록 위치는 '매개 변수' 설정하는 부분 입니다.

C언어의 함수는 명령들을 실행할 필요한 값들을 전달하여 실행할 있는데, 이러한 값들을 '전달 인자' 또는 '전달 인수' 라고 합니다.

해당 위치는 '매개 변수'라고 하며 전달 되어지는 값들을 저장할 공간의 개수와 형태를 지정 합니다.

함수의 명령들을 실행 하고자 '함수를 호출한다'라고 표현하며 해당 함수로 전달 해주고자 하는 값들을 '전달 인자'라고 하며,

전달 되어지는 값들을 받아 저장하는 공간을 '매개 변수'라고 합니다.

매개 변수는 전달 되어지는 값들이 없을 경우 void라는 키워드를 사용하며 반환 값과는 달리 생략 가능 합니다.

또한 매개 변수는 반드시 소괄호로 묶여 있어야 합니다.

 

int main(void)

{

printf("Hello Rekcah");

return 0;

}

 

코드의 파란색 블록인 중괄호는 명령코드들이 함수 안에 포함되어 있다라는 것을 구분 짓기 위한 구분 기호로 사용 됩니다.

중괄호는 생략 가능 하며 현재 예제 에서는 빨간색 블록으로 표시되어 있는 명령들이 main이라는 이름의 함수 명령 코드가 됩니다.

함수의 명령 코드의 수는 제한이 없으며 줄을 포함해도 무방 합니다.

 

int main(void)

{

printf("Hello Rekcah");

return 0;

}

 

코드의 파란색 블록 return이라는 키워드는 '함수의 종료' 의미하며 함수의 종료란 함수의 나머지 명령을 실행하지 말고 끝내라는 의미 입니다.

또한 return 함수의 반환 값을 설정할 있는데 반환 형태와 같은 형태의 하나만 지정할 있습니다.

만약 반환 값이 없다면 생략 가능하며 경우 return 키워드만 사용 합니다.  

'C Language' 카테고리의 다른 글

헤더파일  (0) 2015.11.04
프로그램 개발 도구  (0) 2015.11.03
C언어  (0) 2015.11.02
프로그래밍 언어  (0) 2015.11.02

+ Recent posts