연결이란 아래와 같이 생각할 수 있다. 요전에 포스팅한 통용범위와 많은 관련이 있는데, 연결이란 아래와 같이 세가지 종류가 있다.
1. 내부 연결 : static, 파일
2. 외부연결
3. 연결 없음
선언은 여러개가 있을수 있지만, 정의는 하나만 존재 해야 한다.
함수는 정의가 곧 선언이다.
1. extern이 있을때
1.1. 선언 존재
1.1.1. 연결 있음 : 연결 물려 받음
1.1.2. 연결 없음 : 외부 연결
1.2. 처음 선언 : 외부 연결
2. extern이 없을때
2.1. 함수 : extern가정
2.2. 변수(대상체, 메모리상에 존재하는 대상)
2.2.1. 파일 : 외부 연결
2.2.2. 블록 : 연결 없는 새로운 명칭
<----------- 외부연결 --------->
<--- 내부연결 ------>
a.c ------------> a.o
b.c ------------> b.o ===> 링커 ===> a.out
c.c ------------> c.o
아래 코드에서 결과가 100 이 나오는 이유를 생각해 보자.




댓글을 달아 주세요