티스토리 뷰
C언어를 하다 보면 소스코드의 맨 처음에 #으로 시작하는 코드들이 있습니다. 저도 이걸 처음 보고는 '어? 이건 뭐지?" 했는데요. 이 강좌를 통해서 C언어 소스코드에서 #으로 시작하는 것이 무엇인지 파헤쳐 보도록 하겠습니다.
전처리기지시자(Preprocessor directives)
C언어 소스코드를 보면 #으로 시작하는 코드들이 있는데요. 이 #으로 시작하는 코드를 C언어에서는 전처리기(preprocessor)라고 부릅니다. 전처리기(preprocessor)란 컴파일러가 번역하기 전에 처리한다는 의미입니다. 다시 말하면, 소스코드를 전처리기가 처리한 다음에 그 결과를 컴파일러가 번역한다는 것인데요. 전처리기 지시자들은 전처리기가 할 일을 가르쳐주는 문장으로서 ‘#’ 기호로 시작합니다.
전처리기지시자(Preprocessor directives) 정리
- #으로 시작
- 컴파일 하기 전에 먼저 처리해야 할 일을 수행하도록 명령을 내리는 문장
또한 C언어에서 문장(statement)은 ;(세미콜론)으로 끝나는데 전처리기지시자는 세미콜론으로 끝나지 않는다는 점이 다른 점이라고 할 수 있습니다.
#include 전처리기 지시자
프로그래밍을 할 때 라이브러리라는 말을 들을 때가 있는데 프로그래밍 언어에서 라이브러리는 이미 다른 사람들이 만든 프로그램의 모음을 말합니다. 자주 사용하는 것을 프로그래밍 할 때마다 만들면 시간도 그만큼 많이 들겠죠? 그래서 한 번 만들어 놓고 그 후에 필요한대로 다시 사용할 수 있도록 한 것을 라이브러리라고 생각하면 되겠네요.
표준 라이브러리(standard library)란 프로그래밍 언어와 함께 제공되는 라이브러리를 말합니다.
다른 프로그래머가 작성한 소스코드를 내 프로그램에서 사용하고 싶으면 해당되는 소스코드를 사용한다고 컴파일러에게 알려줘야 하는데 이 때 사용하는 것이 #include 전처리기 지시자입니다.
/* hello.c */ #include <stdio.h> int main(void){ printf(“Hello, World!\n”); return 0; }
위 소스코드를 보면 printf()라는 함수를 호출해서 사용하고 있는데요. printf() 함수는 표준 라이브러리에서 제공하는 함수로서, 모니터화면(표준출력)에 문자를 출력할 때 사용합니다. 이 printf()함수에 대한 정보는 stdio.h라는 파일에 있기 때문에 컴파일러에게 알려주기 위해 #include를 사용한 것을 알 수 있습니다.
stdio.h처럼 #include 문을 통해 소스코드에 포함하는 파일을 헤더파일(header file)이라 합니다. C언어의 헤더 파일은 확장자가 ".h"입니다.
#include는 어떻게 사용하나요?
#include의 사용법은 다음과 같이 크게 두 가지로 나눌 수 있습니다.
#include의 사용법
1. #include <파일이름>
보통 표준 라이브러리를 사용할 때
<>안의 파일을 찾을 때 표준 라이브러리 헤더 파일이 저장된 폴더부터 검색
2. #include “파일이름”
사용자가 작성한 라이브러리를 사용할 때
현재 디렉토리부터 검색
궁금한 점은 댓글로 남겨주세요
'IT 이야기 > 프로그래밍' 카테고리의 다른 글
[JQuery] JQuery를 이용한 달력 (10) | 2013.09.10 |
---|---|
무료 HTML5, CSS3, JAVASCRIPT 자료 받는 방법 (2) | 2013.09.09 |
비주얼 스튜디오 작업그룹 복구하기 (0) | 2013.09.09 |
자바스크립트로 클립보드 내용 자동으로 지우기 (0) | 2013.08.30 |
[HTML] FRAMESET, FRAME, iFRAME 태그의 속성 정리 (0) | 2013.07.15 |
[프로그래밍 문제] armstrong number (0) | 2013.05.02 |
[C언어 강좌] 주석(comment) 한 방에 정복하기 (0) | 2013.05.01 |
[C언어 소스] gets를 이용한 공백 단위로 끊어 출력하기 (0) | 2013.05.01 |
프로그래밍 문제, 학생의 반과 번호 입력해서 줄 세우기 (0) | 2013.04.30 |
프로그래밍 문제 - 간단한 메뉴 시스템 만들기 (0) | 2013.04.30 |
- Total
- Today
- Yesterday
- W3Schools Online Web Tutorials
- 구차니의 잡동사니 모음
- [IT]블로거팁닷컴
- 비앤아이님의 블로그
- Blog Suspect
- 즐거운하루 blog
- zinicap의 검색엔진 마케팅(SEM)
- 머니야머니야님의 블로그
- [Friend] AtinStory
- [기타배우기]해브원 박스
- [웹표준] SINDB.com
- 해커 C 이야기
- [애드센스] 길라잡이
- 정순봉의 IT SCHOOL
- 씨디맨의 컴퓨터이야기
- 2proo Life Story
- 못된준코의 세상리뷰
- [IT강좌] 정보문화사
- IN 대전
- 에우르트는 나쁜남자 -_-
- 씬의 싱크탱크
- 엔돌슨의 IT이야기
- 진이늘이
- 'Cooltime'의 블로그
- 후이의 Tistory
- Soulstorage
- 앤드&엔드의 블로그
- June Blog
- 노지의 소박한 이야기
- gbWorld
- 인터넷 속 나의 생각
- HarshNix
- ART of WEB
- 녹두장군 - 상상을 현실로
- MBTI 자료
- MBTI 테스트
- C언어
- 안드로이드 어플 추천
- MBTI
- 모토로이
- 성공
- 소스
- 인터넷
- HTML
- 강좌
- It
- C언어 문제
- 리뷰
- JavaScript
- 강의
- 안드로이드 어플
- MBTI 검사
- 프로그래밍 문제
- C언어 소스
- 효과음
- 안드로이드
- 인터넷 익스플로러
- MBTI 강좌
- C
- php
- 소스코드
- 프로그래밍
- 예제 소스
- 스마트폰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |