일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- coursera
- decimal
- 기계학습 기초
- classification problem
- #define
- Runtime constants
- 코드블럭 오류
- CLion
- C++
- Andrew Ng
- 본즈앤올
- 코딩테스트
- Machine Learning
- compile time constants
- 홍정모님
- 형변환
- Greedy
- standford University
- 기계학습
- 학습 알고리즘
- const
- algorithm
- 나동빈님
- 단항연산자
- 이코테
- 연산자
- sizeof()
- 프로그래밍
- #endif
- regression problem
- Today
- Total
wellcome_공부일기
CLion | 헤더 파일(Header File) 2가지 방법으로 만들기 본문
<목차>
1. 헤더 파일(Header File)이란?
2. 우리는 왜 헤더 파일(Header File)이 필요한가?
3. 헤더 파일(Header File) 만들기1 - 헤더파일만 만들기
4. 헤더 파일(Header File) 만들기2 - 헤더파일과 소스파일을 나누기
5. 보관함(Directory)에 헤더 파일(Header File) 넣는 법
* 해당 글은 CLion에서 C++ 언어를 사용하여 작성하였습니다.
헤더파일(Header File)이란?
헤더 파일은 함수와 변수의 정의를 담고 있는 것을 말합니다.
헤더 파일은 #include 명령문 전처리기를 사용하여 모든 C++프로그램에 사용되고 가져올 수 있습니다.
헤더 파일은 ".h"라는 확장자를 가지는데 이는 C++ 함수 선언과 매크로 정의를 내포하고 있습니다.
우리는 왜 헤더 파일이 필요한가?
우리는 C++ 프로그램에서 어떤 함수를 사용하고 싶을 때, 먼저 우리는 C++라이브러리로부터 함수들의 정의를 가져와야 합니다.
우리가 필요한 함수의 선언과 정의를 가져오기 위해서는 #include를 사용하여 프로그램에 헤더파일을 포함시켜야 합니다.
C++라이브러리에는 수학 계산을 위한 "algorithm", "math.h" 등이 많습니다.
오늘 포스팅에서는 헤더파일 생성 방법에 대해 포스팅합니다.
#include <iostream>
#include <math.h> //pow 사용을 위한 헤더파일 추가
using namespace std;
int main()
{
int x = 2;
int y = 4;
cout << pow(x,y) << endl; //pow(x,y) = (x^y)
// output : 16
}
헤더 파일(Header File) 만들기1 - 헤더파일만 만들기
실행을 하면 1과 2가 더해진 출력값 3이 나오는 것을 확인할 수 있습니다.
헤더 파일(Header File) 만들기2 - 헤더파일과 소스파일을 나누기
전 예제 코드와 같이 똑같이 출력값이 3이 되는 것을 확인할 수 있습니다.
이렇게 헤더파일과 소스파일을 구분하는 이유는 나중에 프로그램이 복잡해지고 헤더 파일을 계속해서 사용할 때, 함수의 내용들이 바뀔 수 있기 때문에 수정과 정리에 용이함이 있습니다.
헤더파일에는 선언, 소스 파일에는 정의를 남겨둡니다. 선언과 정의에 대한 내용은 아래 링크에 첨부되어 있습니다.
선언(Declaration)과 정의(Definition) 분리 알아보기
보관함(Directory)에 헤더 파일(Header File) 넣는 법
소스파일과 헤더파일을 만드는 동일한 메뉴에서 Directory를 눌러 보관함(Directory)을 만듭니다.
대신 헤더 파일(Header File)이 위치하는 경로가 보관함(Directory) 안으로 바뀌기 때문에 main()함수 파일 위에 선언 시 " 디렉토리 이름/ 헤드 파일"을 넣어주어야 합니다.
'CLion 사용법' 카테고리의 다른 글
CLion | 헤더가드(Header Guard)란? (0) | 2020.04.27 |
---|