Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

heenam

chapter27 파일의 분할과 헤더파일의 디자인 본문

[Programming Language]/C

chapter27 파일의 분할과 헤더파일의 디자인

znzltiq 2020. 5. 1. 19:22

파일의 분할

 파일을 그냥 둬도 될까요?

  한 파일에 모든 것을 담는 것보다 여러개의 파일을 만들어서 서로 연관 있는 함수와 변수들을 구분해서 담는게 좋다.

 외부에 선언 및 정의되었다고 컴파일러에게 알려줘야 합니다.

  파일을 분할해서 컴파일 하기 위해서는 컴파일러에게 다음과 같은 내용의 메시지를 전달해야 한다.

  extern int num // int형 변수 num이 외부에 선언되어 있다.

  이처럼 외부에 선언되었음을 컴파일러에게 알리는 extern을 사용한다. 함수에서도 사용 가능하다.

  extern void Increment(void) // void Increment(void) 함수가 외부에 정의되어 있다.

  구체적으로 어느 파일에 선언 및 정의되어있는지 까지는 알리지 않아도 된다.

 다른 파일에서 접근을 못하게 하고 싶다면 staic!

  static int num = 0; // num는 외부 파일에서의 접근을 허용하지 않는다. 함수에서도 사용 가능하다.

  ststic void MinCut(void) // 외부 파일에서 호출 불가능한 함수

헤더파일의 디자인과 활용

  #include 지시자의 의미를 알면 헤어파일을 완전히 이해할 수 있습니다.

  #include "header1.h" // 이 문장 위치에다가 header1.h에 저장된 내용을 가져다 놓으세요

 헤더파일을 include 하는 두 가지 방법

  #include <헤더파일 이름.h> // C의 표전에서 정의하고 있는, 기본적으로 제공되는 헤더파일 stdio.h나 string.h같은

  #include "헤더파일 이름" // 프로그래머가 정의 하는 헤더파일을 포함시킬 때 사용하는 방식

  절대 경로를 명시해서 헤더파일을 지정할 수 있다.

  #include "C:\CPower\Myproject\header.h // 절대경로 지정

  프로그램 개발에서는 특별한 이유가 없으면 절대경로를 사용하지 않는다.

 상대경로의 지정 방법

  #include "..\MyHeader\header2.h"

  // 두 단계 상위 디렉터리의 하위 디렉터리인 MyHeader디렉터리에 존자하는 header2.h를 포함하라.

  상대경로를 이용하는 습관을 들어야 한다.

 헤더파일에 무엇을 담으면 좋겠습니까?

  선언을 헤더파일에 모아두고 필요할 때마다 헤더파일을 포함시키는 방법을 선택한다.