[C] 분할 구현
헤더랑 파일을 분리하는 이유
-관리가 편하고 재사용이 편하다.
그렇다면 헤더파일에 함수까지 다 구현해두면 될텐데 왜 굳이 그렇지 않을까?(헤더에는 함수 선언만 해둔다)
나누어서 구현할거면 전역변수는?
1. 헤더파일에 전역변수를 선언해두고 다른 cpp파일이 #include로 받아서 쓰면 되지 않을까?
-> 틀렸다. #include는 단순한 복붙이다. 각자의 cpp파일에서는 문제가 일어나지 않겠지만 모든 cpp파일을 합쳤을때 변수명이 다 겹쳐 어느 것을 말하는지 알 수 없다. 파일마다 헤더파일에 있는 전역 변수 이름이 각각 생길 뿐이다.
여러 번 정의된 기호가 있다는 링크 단계(LNK) 의 오류가 발생한다.
2. 우리가 원하는 것(전역변수)을 하기 위해서는 정적 변수(static)와 외부 변수(extern)에 대해 알아야 한다.
-> 다음 포스팅으로 계속
이번 포스팅에 참고하고 있는 수업 강의이다.
어소트락 게임아카데미 유튜브 강의인데 상당히 퀄리티가 좋다.
23화와 24화를 합쳐도 50분밖에 되지 않으니 보고 싶은 사람은 보길 바란다.
https://www.youtube.com/watch?v=ckwQxpWKjxs&list=PL4SIC1d_ab-aOxWPucn31NHkQvNPHK1D1&index=24
'공부 > C, C++' 카테고리의 다른 글
[C] 구조체 (0) | 2022.01.02 |
---|---|
[C] 변수(지역 변수, 전역 변수, 정적 변수, 외부 변수) (0) | 2022.01.02 |
[C] 배열 (0) | 2022.01.01 |
[C] 재귀 함수(2), 피보나치 수열 (0) | 2022.01.01 |
[C] 비트 연산자 (<<, >>, &, |, xor, ~) (0) | 2022.01.01 |
댓글