본문 바로가기

[c언어 강좌]네번째, c언어 기본구조

@rn1p4st2016. 2. 9. 20:54
반응형

 

안녕하세요/

벌써 네번째 시간 이네요.

 

이번 강좌는 c언어 기본 구조를 하기 때문에

 

 

저번 강좌에서 했던

Hello World 프로그램 소스를 이용하여 하도록 하겠습니다.

 

1. #include<stdio.h>

 

자 먼저 제일 기초..인가?

쨋든 첫줄에 꼭 들어가는 #include<stdio.h>에 대해 한번 보도록 하겠습니다.

 

1.1 '#'

맨 처음에 보면 #이라는 특수 문자가 들어갑니다.

이것은 전처리기입니다.

그래서 컴파일러가 컴파일을 수행하기 전 먼저 처리하는 것입니다.

 

1.2 'include'

#다음으로 include가 들어갑니다.

include는 포함하다는 뜻...인가 아마 포함하다가 맞을 것입니다.

포함하다라는 것입니다.

완전히 정의를 내리려면 stdio.h가 뭔지 알아야 합니다.

 

1.3 stdio.h

자 stdio.h는 헤더 파일입니다.

헤더 파일은 h확장자를 가지고 있습니다.

그래서 stdio.h는 헤더 파일을 의미합니다.

 

stdio는 standard input output을 줄여서 쓴것으로

표준 입출력이라는 소리입니다.

 

이 헤더 파일은 표준 라이브러리 함수 printf, scanf 등을 정의해 놓은 파일 입니다.

-----------------------------------------

자 이렇게 정리를 해 보자면 감을 잡은 사람도 있으실 겁니다.

#include<stdio.h>라는 의미는

stdio.h파일을 include 포함하는 작업을 #먼저 수행(처리)해라

이소리입니다.

2. int main(void){ }

 

자 다음으로 int main(void) 함수 에 대해 보도록 하겠습니다.

main() 함수는 프로그램이 실행 될때 가장 먼저 호출되는 함수입니다. 그리고 제일 나중에 종료가 되는 함수입니다.

이 함수는 운영체제가 호출합니다.

 

 

 출력 형태 함수 이름  입력 형태 
int  main  (void) 

 

int main(void)의 선언 형태 입니다.

int는 integer의 줄임 말이고 정수라는 뜻입니다, 그리고 void는 비어있다 그소리죠.

 

이걸 전체적으로 해석하면 입력 없이 main() 함수를 호출해서 정수형으로 출력해라

이 소리 입니다.

제가 강좌하는데 제가 뭔 소리인지 모르겠네요.

 

자 소스를 다시 한번 보여드리겠습니다.

int main(void)

{

함수의 기능

}

 

자 이렇게 함수의 구조 입니다.

main()은 함수의 대가리 머리의 부분이고

{는 함수의 시작 }는 함수의 종료입니다

그 안에 함수의 기능을 넣는것이죠.

그래서 이 부분을 함수의 몸통 부분이라고도 합니다.

 

3. printf("Hello World \n");

 

 

자 이 printf() 함수는 문자열이나, 문자, 변수, 상수 뭐 이렇게 등등 모니터에 출력하는 기능을 가진 함수 입니다.

(간단하게 출력 함수)

 

자 근데 그래도 좀 자세히 알아야 하니까

컴파일러는 이러한 함수를 인식 하지 못합니다.

그러면 어떻게 컴파일러는 이 표준 라이브러리 함수인 printf() 함수를 알까요?

 

자 아까 설명했습니다.

이런 함수를 정의 해둔 헤더 파일을 통해서 입니다.

그러면 무슨 헤더 파일일까요?

<stdio.h>죠.

 

printf()함수에서 괄호 안의 큰따옴표로 묵인 것인 모니터에 출력을 합니다.

("Hello World \n"); 이렇게 Hello World라는 문장이 큰따옴표 안에 있으니

Hello World가 모니터에 출력이 되는 것입니다.

 

 

\n과 같이 printf()함수의 또 다른 기능들은 뒷 강좌에서 하도록 하겠습니다.

 

4. ;

; 이 부호는 세미콜론 입니다.

이것은 우리의 마침표와 같습니다.

문장이 끝났다는 뜻으로 c언어에서는 세미콜론을 문자의 끝으로 인식하게 됩니다.

고로 빠지면 큰일 나는 문자입니다.

 

;문자를 가끔 빼먹으실때가 있는데 그러면 에러가 납니다.

그러므로 ;은 빼먹으면 안됩니다.

 

5. return 0;

이건 저도 이해를 하는 좀 오래걸렸습니다.

이것은 의미가 2가지 입니다.

1. 함수를 호출한 영역으로 값을 반환 해라.(나중 함수 강좌에서 자세하게 하도록 하겠습니다.)

2. main() 함수를 종료해라.

 

자 그럼 return 0;은 무엇일까요?

0을 반환하고 main()함수를 종료 해라 그 소리입니다.

 

그럼 또 만약에

그냥 return 이라고 가정하고 0이 없다고 치면

 

그렇다면

반환 할것이 없으니 그냥 main() 함수를 종료해라.

이런 소리 입니다.

 

---------------------------------

 

자 이렇게

이번 강좌 마치도록 하겠습니다.

이번 강좌는 되게 힘들게 섰으니 자세히 꼼꼼하게 읽어주시고

댓글도 써주시고 공감도 눌러 주시면 감사하겠습니다.

반응형
rn1p4st
@rn1p4st :: 푸들푸들

RECORD STUDY

목차