[c언어 기초]

우리가 아는 C언어

C언어 시작하기2

헤더 파일에 대해서

헤더 파일

헤더 파일은 ‘우두머리’,’제목’이라는 뜻으로. main() 보다 먼저 작성하고 전처리 구문이라고 부르며 유사한 종류의 라이브러리 함수들이 포함된 책의 소제목이라고 생각할 수 있습니다. 또한 헤더 파일에는 사용하는 명령들의 내용이 미리 기록되어 있습니다.(예들 들어 ‘+’라는 연산자를 사용할수 있는것은 헤더 파일 안에 ‘+’가 ‘2개의 숫자를 더하라’라는 명령이 사전에 약속되어 있는 기호이기 때문이죠.)
라이브러리 함수 – printf( )와 같이 사전에 그 내용이 정의된 함수로서, 마치 도서관의 책 처럼 미리 만들어 놓고 필요하면 언제든지 꺼내어 쓸 수 있는 함수를 말합니다.
 
아래의 코드를 직접 작성하고 실행해 봅시다.
#include <stdio.h> 
main () 
{ 
printf ( “Hello world”); 
}

실행결과

위 프로그램을 실행하면 “Hello world”라는 문자열이 출력됩니다.

(만약 사진이 보이지않는다면 새로고침 해주세요)

  • 위 코드에서 헤더 파일은 무엇일까요?
  • 보통 헤더 파일은 #include<기본 라이브러리 헤더>의 기본형식을 가지고 있습니다.
  • 또한 1행에서 stdio.h 헤더 파일은 printf() 함수의 실행 내용이 미리 정의 되어 작성되어 있는 파일입니다.
  • 4행에서 printf() 함수에 “Hello, world” 문장(문자열)이 전달되면 문자열이 출력되어 모니터에 나와 우리가 볼수 있는 것이죠
    stdio – 표준 입출력(standard input output)의 약자로 입력과 출력에 관련된 라이브러리 함수들이 포함되어 있습니다.

헤더 파일의 중요성

헤더 파일이 main() 함수 이전에 작성되지 않으면 main() 함수 내에 작성된 내용들을 번역하지 못하여 오류가 발생합니다.
 
아래와 같이 헤더 파일 부분을 없애고 코드를 컴파일해 봅시다.
main () 
{ 
printf ( “Hello world”); 
}

실행결과

위 프로그램을 실행하면 오류가 발생합니다.

  • 프로그램을 컴파일하면 3행에서 오류가 발생합니다.
  • 또한 printf() 함수가 미리 정의되지 않아서 <stdio.h>를 포함 하라는 메세지를 보여줍니다.
주의
어? 그런데 프로그램이 정상적으로 실행이 됐네요?
그것은 우리가 쓰고 있는 code::block은 조금 똑똑해서 경고를 해주고 자동으로 printf에 대해 정의해주어서 실행된 겁니다. 원래대로라면 실행되지 않아요. 그러니 꼭 헤더 파일 쓰는 것을 까먹으면 안됩니다.
 

댓글

댓글 본문
  1. ㅋㅋ <stdio.h>가 input output 약자였었는데 신기하네요
  2. ㅋㅋ <stdio.h>가 input output 약자였었는데 신기하네요
  3. 메이킷circuit두잇
    아항 마지막 주의문장 안 보고 자꾸 왜뜨지? 하면서 껐다켰다만 반복했네요!! 역시 한국말은 끝까쥐..ㅎ
  4. thebluerat
    감사합니다.
  5. 모모땅
    굿굿
  6. be new
    잊고 있었던 헤더파일의 정의를 다시금 깨닫고 가네요 ^^ 좋은 컨텐츠 감사합니다
  7. life knowledge
    수정했습니다.^^
    대화보기
    • Noir
      첫 줄에 "우두러리" 단어가 궁금해서 찾아본 1ㅅ hoxy "우두머리"맞죠? ㅎㅎ
    • 뚜뚜빵야
      ㅋㅋㅋㅋㅋ라임 오졋당
      대화보기
      • 이해가 쏚~
        이해가 너무 잘되는걸~ 하지만 난 boy~
      • dbsgmltka5@naver.com
        넘후 조하영 ㅠㅠ
      • 어흥zz
        정의부터 차근차근 보니까 이제까지 왜 이런걸 써 왔는가에 대하여 알게 되었습니다
        감사합니다