7. #include
외부 파일을 프로그램보다 먼저 처리하여 컴파일 하라는 문장입니다.
C컴파일러의 헤더파일을 살펴보면 우리가 사용해 왔던 라이브러리 함수의 원형이나 구조체 변수 등이 선언되어 있습니다.
#include문을 써서 헤더파일을 프로그램 내에 포함시키면 라이브러리 함수나 많이 쓰는 매크로 또는 변수들을 따로 선언해 둘 필요 없이 편리하게 사용할 수 있게 됩니다.
사용자가 직접 헤더파일을 작성하여 불러 올 수도 있습니다.
#include 사용형식
형식
예
#include <파일명>
#include <stdio.h>
컴파일러에 지정된 헤더파일 위치에서 찾음
#include "파일명"
#include "stdio.h"
현재 작업 디렉토리에서 찾음
8-15 실습예제 (사용자가 작성한 헤더파일 불러오는 프로그램)
void KOR(int y,int m, int d)
{
printf("\n%d년%d월%d일", y,m,d);
}
void USA(int y,int m, int d)
{
printf("\n%2d-%2d-%2d\n", y,m,d);
}
먼저 위의 코드를 헤더 파일로 작성하여 date.h로 저장합니다.
그 후 다시 새로운 파일을 불러서 아래와 같은 코드를 작성하고 실행을 시키면 됩니다.
메인 파일에 작성
#include<stdio.h>
#include "date.h"
void main()
{
int year, month, day;
P("년도 입력? ");
scanf("%d", &year);
P("월 입력?");
scanf("%d", &month);
P("일 입력?");
scanf("%d", &day);
KOR(year, month, day);
USA(year, month, day);
}
년도 입력? 2005
월 입력? 10
일 입력? 25
2005년 10월 25일
2005-10-25
위의 프로그램은 date.h 라는 헤더파일에서 KOR 이라고 하는 함수를 이용해서 2005년 10월 25일 형태로 출력하게 해주고 USA라는 함수가 2005-10-25 형태로 출력하게 해 주었습니다.
따라서 이 헤더 파일을 포함시켜 컴파일 하게 되면 위와 같은 출력결과가 나오게 된 것입니다.
8-16 앞에서 작성한 커서 이동함수를 헤더파일로 정의하고 구현한 프로그램
Move.h
#include <windows.h>
void gotoxy(int x, int y)
{
COORD Cur;
Cur.X=x;
Cur.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Cur);
}
int wherex()
{
CONSOLE_SCREEN_BUFFER_INFO BufInfo; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
return BufInfo.dwCursorPosition.X;
}
int wherey()
{
CONSOLE_SCREEN_BUFFER_INFO BufInfo; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
return BufInfo.dwCursorPosition.Y;
}
main.c
#include <stdio.h>
#include "Move.h"
int main()
{
int x, y;
gotoxy(30, 10);
x = wherex();
y = wherey();
printf("x좌표:%d y좌표:%d\n",x,y);
return 0;
}
[프로그래밍] 9. 조건부 컴파일 (0) | 2016.10.07 |
---|---|
[프로그래밍] 8. Macro (0) | 2016.10.07 |
[프로그래밍] 6. 전 처리문의 종류 (0) | 2016.10.06 |
[프로그래밍] 5. 외부 변수(External variable) (0) | 2016.10.05 |
[프로그래밍] 4. 정적 변수(Static variable) (0) | 2016.10.05 |