메인문을 위로 놓고 함수를 아래로 넣으면 컴파일에러가 발생한다.
: 컴파일러가 코드를 위에서부터 순차적으로 보기 때문에 main문은 아래에 있는 add의 존재를 모른다.
-> 위에다가 입출력문 구조만 알 수 있는 선언만 해주면 문제는 해결된다.
파일을 분리하자
: 재사용 및 정리를 위해서 헤더파일과 cpp파일로 구분하자.
<> vs "~.h"
: <>는 비주얼에서 제공하는 라이브러리 함수이고 ,
"헤더"는 우리가 직접 만들어준 파일을 뜻한다.
이런식으로 분리 헤더와 cpp로 분리해서 코드를 작성하자.
: 재사용 및 정리를 위해서 , 메인문 위에다가 다 올리면 해당 기능을 찾기가 지저분하다.
#pragma once 는 왜 사용하는 것일까?
do_something을 헤더파일 새로 만들어서 빼자.
-> 문제 없다.
c언어에서는 헤더파일에 대해서 여러번 동일한 타입/동일한 함수명/동일한 변수명에 대해 여러번 정의를 한다면 컴파일러 오류를 발생할 수 있다!
#ifndef XXX_H
#define XXX_H
#endif
=> 결과 / 알게 된점.
#pragma once
를 이용해 중복되는 함수명에 의한 컴파일러 오류를 방지하는 역할을 한다.
https://blog.naver.com/kimwontae466/222172336065
: 메크로는 대문자로 명시한다.
: define은 영향 범위가 선언되어 있는 부분에서만 적용된다.
포함된 파일에 디파인 선언하면 메인문까지 넘어온다.
메인문에 선언하고 포함된 헤더는 선언하지 않았을 때의 경우